elmentUI的input组件一些坑点

来源:互联网 发布:googlo play 软件下载 编辑:程序博客网 时间:2024/06/04 18:28

官网文档:http://element.eleme.io/#/zh-CN/component/input
1、on-icon-click属性中的值必须是不带()

<el-input type='text' icon='search' :on-icon-click='sech()' v-model='state'></el-input>sech(){console.log(this.state)}这种写法input相当于input的onchange事件,而不是官方推荐的点击图标触发的事件,每次文本框发生变化都会输出state的值改善::on-icon-click='sech()',只有点击图标才会输出,

2、我们最常用的还是文本框加下拉列表提示
这里我们可以选用el-autocomplete组件;官方文档属性如下


参数 说明 类型 可选值 默认值


placeholder 输入框占位文本 string — —
disabled 禁用 boolean — false
props 配置选项,具体见下表 object — —
value 必填值输入绑定值 string — —
custom-item
通过该参数指定自定义 string — —
的输入建议列表项的组件名
fetch-suggestions
返回输入建议的方法,仅当
你的输入建议数据 resolve
时,通过调用 callback(data:[]) 来返回它
Function(queryString, callback) — —
popper-class
Autocomplete 下拉列 string — —
表的类名
trigger-on-focus
是否在输入框 focus 时 boolean — true
显示建议列表
on-icon-click 点击图标的回调函数 function — —
icon 输入框尾部图标 string — —

demo代码<template>  <div>    <el-input placeholder="请选择日期" icon="search" v-model="input2" @click="handleIconClick"></el-input>    <el-input placeholder="请输入网址">      <div slot="prepend">http://</div>      <i slot="append" class="el-icon-edit"></i>    </el-input>    <el-autocomplete      v-model="ss"      :trigger-on-focus = 'false'      :fetch-suggestions="search"      icon="search"      @select="sl()"      :on-icon-click="cl"    ></el-autocomplete>  </div></template><script>  export default {    data() {      return {        ss:'',        result:[{'value':'南京1'},{'value':'上海2'},{'value':'北京3'},{'value':'合肥4'}],        input2:''      };    },    methods: {      handleIconClick(){        //console.log(this.input2);      },      sl(){      //选中下拉列表的处理函数        console.log(this.ss);        console.log(1)      },      cl(){      //点击icon图标的处理函数,实际中我们的调用搜索接口,获取数据等等        console.log(this.ss);        console.log(2)      },      search(a, cb) {        var result = this.result;       // var results = [{'value':'上海2'}]       var results = a ? result.filter(this.createFilter(a)) : result;        // 调用 callback 返回建议列表的数据        //我们也可以判断条件直接赋值cb的处理参数        cb(results);      },      createFilter(a) {        return (result) => {    //这里有一个坑,你如果更改value属性名称代码不报错,结果将无法筛选,永远为空,尝试了多次没有成功,用原生处理筛选,直接赋值cb的参数都不行,一定要属性值为value          return (result.value.indexOf(a) != -1);        };      },    },    mounted() {    }  }</script>
原创粉丝点击