[Vue warn]:children must be keyed:

发布于 2022-09-07 21:49:12 字数 1552 浏览 21 评论 0

使用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值也有了,但是还是一直报这个错:

clipboard.png

clipboard.png

因为key值有问题,勾选一个就会直接全选上了,所以想问下有人能看出来问题出在哪里吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

大海や 2022-09-14 21:49:12

需要将el-select加一个value-key属性,这个值是你绑定的值里面有的一个字段,且值不应该是对象

作为 value 唯一标识的键名,绑定值为对象类型时必填

柠北森屋 2022-09-14 21:49:12

你的key值都是null, 换一个key值字段吧

伴随着你 2022-09-14 21:49:12

哈哈哈,我也遇到了,但是我找到了答案;
上面有一位其实说的对,item不支持对象,但是可以让他支持的,关键在于一个配置“value-key”

在el-select里面配置value-key,另外我用的不是key,key我没有配置,我也搞不懂他有什么用

然后el-option的value哪里配置位item,这样el-select的model就是对象集合了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文