使用vue+element-ui搭建的前端,在用远程检索的选择框组件的时候出现了一个很诡异的事情:
<el-form-item label="关联对话">
<el-select
v-model="relatedDialogAdd"
multiple
filterable
remote
reserve-keyword
placeholder="请输入关键词"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="(item,key) in relatedDialogOpts"
:key="key"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
remoteMethod(query) {
let param;
query === '' ? param = {} : param = {search: query};
this.$axios.get(this.ip +'/getchat',{
params: param
}).then(res => {
let data = res.data.data.data;
this.loading = true;
setTimeout(_ => {
this.loading = false;
this.relatedDialogOpts = data.map(item => {
return {
value: item.next_id,
label: item.inword
};
});
console.log(this.relatedDialogOpts); //这个打印出的是[{label:"大米",value:null},{label:"苹果",value:null}]类似的数组格式
}, 200);
});
}
以上都是按照饿了么element-ui文档里面的例子写的,数据格式啥的都一样,key值也有了,但是还是一直报这个错:
因为key值有问题,勾选一个就会直接全选上了,所以想问下有人能看出来问题出在哪里吗?
需要将el-select加一个value-key属性,这个值是你绑定的值里面有的一个字段,且值不应该是对象