[已删除]
[已删除]
  • 发布:2022-03-25 17:35
  • 更新:2022-03-25 18:20
  • 阅读:683

vue for 循环中item没有唯一值,但又是表单渲染, key如何赋值

分类:uni-app

vue for 循环中item没有唯一值,但又是表单渲染, key如何赋值
如果不赋值,或者赋index的话,dom更新后其中的值是不对的。必须要item中设置唯一值么

<template>  
    <view>  
        <div>  
            <button @click="add">添加</button>  
        </div>  
        <ul>  
            <li v-for="(item, i) in list" :key="JSON.stringify(item)">  
                <input type="checkbox"> {{ item.name }}  
            </li>  
        </ul>  
    </view>  
</template>  
  
<script>  
export default {  
    data() {  
        return {  
            list: [{  
                       // id: 1,  
                       name: '李斯'  
                   },  
                   {  
                       id: 2,  
                       name: '吕不韦'  
                   },  
                   {  
                       // id: 3,  
                       name: '李斯'  
                   }  
            ]  
        }  
    },  
    methods: {  
        add() {  
            // 注意这里是unshift  
            this.list.unshift({  
                id: ++this.newId,  
                name: this.name  
            })  
            this.name = ''  
        }  
    }  
}  
</script>
2022-03-25 17:35 负责人:无 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

一般是index

n***@163.com

n***@163.com

用你代码的i

  • [已删除] (作者)

    你随便百度一个试试,i加不加没有意义的


    2022-03-31 17:18

  • [已删除] (作者)

    我更新了下问题,有代码,你试试


    2022-03-31 17:20

  • n***@163.com

    回复 [已删除]: 你用这个key主要是干什么啊,我们一般就是付一个不重复的值,显示而已,如果需要删除和修改的话,这个和你数组的index也是能对应的,如果数组变了话,这个也会变的,这时你就不能用之前的你存储的index来定位了。


    2022-04-01 11:10

  • [已删除] (作者)

    回复 n***@163.com: 比如表单,你试试我的demo


    2022-04-01 11:24

  • n***@163.com

    回复 [已删除]: 你这种用unshift,只能自己生成唯一码赋值,比如简单的就生成uuid


    2022-04-01 11:55

该问题目前已经被锁定, 无法添加新回复