[Vue warn]:children must be keyed:
使用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值有问题,勾选一个就会直接全选上了,所以想问下有人能看出来问题出在哪里吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
需要将el-select加一个value-key属性,这个值是你绑定的值里面有的一个字段,且值不应该是对象
你的key值都是null, 换一个key值字段吧
哈哈哈,我也遇到了,但是我找到了答案;
上面有一位其实说的对,item不支持对象,但是可以让他支持的,关键在于一个配置“value-key”
在el-select里面配置value-key,另外我用的不是key,key我没有配置,我也搞不懂他有什么用
然后el-option的value哪里配置位item,这样el-select的model就是对象集合了