elementui select远程搜索
时间: 2023-10-03 09:05:04 浏览: 85
怎么实现?
对于elementui select的远程搜索,可以通过设置remote和remote-method属性来实现。其中,remote表示是否开启远程搜索,remote-method表示远程搜索的方法。例如:
<el-select
v-model="value"
:remote="true"
:remote-method="querySearch"
:loading="loading"
:filterable="false"
:placeholder="'请输入'"
:clearable="true">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
在data中定义value、loading、options等属性,querySearch方法用于远程搜索:
querySearch(queryString, cb) {
var options = [
{ value: '选项1', label: '黄金糕' },
{ value: '选项2', label: '双皮奶' },
{ value: '选项3', label: '蚵仔煎' },
{ value: '选项4', label: '龙须面' },
{ value: '选项5', label: '北京烤鸭' }
];
var results = queryString ? options.filter(this.createFilter(queryString)) : options;
clearTimeout(this.timeout);
this.timeout = setTimeout(() => {
cb(results);
}, 1000 * Math.random());
},
createFilter(queryString) {
return (item) => {
return item.label.indexOf(queryString) !== -1;
};
}
其中,querySearch方法中的options可以替换为从后端获取到的数据。createFilter方法用于过滤options中的数据,只保留包含queryString的数据。最后,通过cb(results)返回过滤后的结果。
阅读全文