el-autocomplete实现多选
时间: 2023-09-08 17:14:45 浏览: 542
el-autocomplete是Element UI库中的一个组件,用于实现输入框自动完成功能。如果要实现多选,在el-autocomplete组件中需要添加一个多选的标志,并且使用v-model绑定一个数组来存储选择的值。
具体实现步骤如下:
1. 在el-autocomplete组件上添加multiple属性,表示开启多选模式。例如:
```
<el-autocomplete
v-model="selectedItems"
:fetch-suggestions="querySearch"
placeholder="请输入内容"
:multiple="true"
>
</el-autocomplete>
```
2. 定义一个数组selectedItems,用于存储所选中的值。例如:
```
data() {
return {
selectedItems: []
}
}
```
3. 在querySearch方法中,返回一个数组,用于显示下拉列表中的选项内容。例如:
```
querySearch(queryString, cb) {
const items = [
{ value: '选项1' },
{ value: '选项2' },
{ value: '选项3' },
{ value: '选项4' },
{ value: '选项5' }
];
const results = queryString ? items.filter(this.createFilter(queryString)) : items;
cb(results);
},
```
4. 在createFilter方法中,定义一个过滤器,用于过滤出符合条件的选项。例如:
```
createFilter(queryString) {
return (item) => {
return item.value.indexOf(queryString) !== -1;
};
},
```
5. 最后,将selectedItems数组绑定到需要提交的表单中,以实现多选的功能。
注意:如果需要限制已选项的个数,可以在selectedItems数组中添加一个限制条件。例如:
```
if (this.selectedItems.length === 3) {
this.$message.warning('最多只能选择3个选项!');
return false;
}
```
阅读全文