value-key 页面显示的文字
<el-form-item label="名称" prop="name">
<el-autocomplete
v-model="form.name"
:fetch-suggestions="querySearchAsync"
placeholder="请输入名称"
value-key="name"
@select="handleSelect"
></el-autocomplete>
</el-form-item>
//异步搜索
querySearchAsync(queryString, cb) {
listWarehouseTemplate({'name': queryString}).then((res) => {
// 拼接物资名称和单位
res.rows.forEach((item) => {
item.name = item.name + "/" + item.unit
})
let restaurants = res.rows;
let results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
//cb是回调函数,返回筛选出的结果数据到输入框下面的输入列表
cb(results);
})
},
//模糊匹配;官方调用的是indexOf,是精确匹配
createStateFilter(queryString) {
return (item) => {
return item.name.toUpperCase().match(queryString.toUpperCase());
};
},
//处理选择
handleSelect(item) {
this.form.templateId = item.id;
},