vue elementUI el-select中 filter-method自定义搜索方法
介绍:在el-select中写入filter-method属性;
1、基本应用:
1)模板中加入filter-method属性及方法:
<el-select v-model="value" filterable placeholder="请选择0" filterable :filter-method="query">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
2) js中data部分:
data: () => ({
options: [{ // 用于显示的数据
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: '', // select 选中值
oldOptions: [] // 保存后端原始数据
}),
3)在created或者mounted中:(以下代码在created中使用)
created() {
this.init();
}
4)在methods中实现:
init() {
this.oldOptions = JSON.parse(JSON.stringify(this.options));
},
query(value) {
this.options = this.oldOptions.filter(item => item.label === value)
}
2、如需要自定义传参:(在filter-method中改为: (value)=> query(value, ...),后面...为自定义传入的参数)
<el-select v-model="value" filterable placeholder="请选择0" filterable :filter-method="(value) => query(value, oldOptions)">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
版权声明:本文为qq_38909255原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。