el-select 多选加搜索建议
时间: 2023-08-29 08:14:02 浏览: 107
多选多select
el-select 是 Element UI 提供的下拉选择器组件,可以通过设置 multiple 属性来实现多选功能。另外,el-select 也提供了 filterable 属性来开启搜索建议功能。
例如,以下代码实现了一个多选加搜索建议的 el-select 组件:
```html
<el-select
v-model="selectedValues"
multiple
filterable
remote
:remote-method="search"
:loading="loading"
:options="options"
placeholder="请选择"
>
</el-select>
```
其中,v-model 绑定一个数组,用来存储用户选择的值。multiple 属性开启多选功能,filterable 属性开启搜索建议功能。remote 属性开启远程搜索,在搜索框输入文字时,会调用 search 方法进行远程搜索。loading 属性用来控制搜索结果的 loading 状态。options 属性是一个数组,用来展示下拉选项。placeholder 属性是选择器的占位符。
以下是示例代码中的 search 方法的实现:
```javascript
search(query) {
this.loading = true;
setTimeout(() => {
// 模拟远程搜索
const options = ['选项1', '选项2', '选项3', '选项4', '选项5'].filter(item => {
return item.toLowerCase().indexOf(query.toLowerCase()) > -1;
});
this.options = options.map(item => {
return { value: item, label: item };
});
this.loading = false;
}, 1000);
}
```
在 search 方法中,通过 setTimeout 模拟了一次远程搜索。在真实场景中,可以通过 AJAX 请求从服务器获取搜索结果。在该示例中,会根据用户输入的 query 和 options 中的选项进行匹配,返回符合条件的选项。最后将符合条件的选项转化为 el-select 能够接受的格式,并将其赋值给 options 属性。在搜索期间,loading 状态为 true,在搜索完成后,设置 loading 状态为 false。
阅读全文