当前位置: 代码迷 >> 综合 >> vue elementUI el-select中 filter-method自定义搜索方法
  详细解决方案

vue elementUI el-select中 filter-method自定义搜索方法

热度:93   发布时间:2023-12-29 09:42:37.0

介绍:在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>

  相关解决方案