el-select 远程搜索回显
时间: 2023-08-29 08:12:44 浏览: 121
element-ui 远程搜索组件el-select在项目中组件化的实现代码
el-select 组件在远程搜索时,通常会在输入框中显示搜索结果,但是默认情况下,选中的值不会在输入框中显示。如果你想要实现选中值的回显,可以使用 `filterable` 属性和 `remote-method` 方法结合使用,代码示例如下:
```html
<template>
<el-select
v-model="value"
filterable
remote
:remote-method="remoteMethod"
:loading="loading"
:multiple="multiple"
:multiple-limit="multipleLimit"
:placeholder="placeholder">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
value: '',
options: [],
loading: false,
multiple: false,
multipleLimit: 0,
placeholder: '请输入关键词进行搜索'
}
},
methods: {
remoteMethod(query) {
if (query !== '') {
this.loading = true;
setTimeout(() => {
this.loading = false;
this.options = [{
value: '1',
label: '选项1'
}, {
value: '2',
label: '选项2'
}, {
value: '3',
label: '选项3'
}, {
value: '4',
label: '选项4'
}];
}, 200);
} else {
this.options = [];
}
}
}
}
</script>
```
在上面的示例中,当用户输入搜索关键字时,会触发 `remoteMethod` 方法进行远程搜索,并将搜索结果赋值给 `options` 数组。同时,通过 `v-model` 指令绑定 `value` 变量,实现选中值的回显。通过 `loading` 属性控制加载状态,`multiple` 属性控制是否允许多选,`multipleLimit` 属性控制多选时最多可选数量,`placeholder` 属性设置输入框的提示信息。
阅读全文