Arnbib1on
Arnbib1on
  • 发布:2022-08-02 10:05
  • 更新:2022-08-02 10:12
  • 阅读:418

uni-app 小程序使用v-key导致index打印错乱的问题

分类:uni-app

我设置的v-key为name,然后这个数组的顺序发生变化,数据没有变化的时候,点击打印index会错乱,打印的是第一次渲染数组时候的index,比如华北原来index是0,现在它变成3了,点击打印的还是0。这是uni-app在这一块的底层和Vue不一样吗?同样的代码在Vue中就不会出现这个问题

<template>  
    <view>  
        <view class="item" v-for="(item,index) in arr" :key="item.name">  
            <view class="item_name" @click="handleItem(index)">  
                {{item.name}}  
            </view>  
        </view>  
        <button @click="handleChange" type="default">变变变</button>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                arr: [{  
                    name: "华北",  
                    num: 1200  
                }, {  
                    name: "华南",  
                    num: 1001  
                }, {  
                    name: "东北",  
                    num: 1020  
                }, {  
                    name: "东南",  
                    num: 200  
                }, {  
                    name: "西北",  
                    num: 3100  
                }]  
            }  
        },  
        methods: {  
            handleItem(index) {  
                console.log(index)  
            },  
            handleChange() {  
                this.arr = [{  
                    name: "华南",  
                    num: 1001  
                }, {  
                    name: "东北",  
                    num: 1020  
                }, {  
                    name: "西北",  
                    num: 3100  
                }, {  
                    name: "华北",  
                    num: 1200  
                }, {  
                    name: "东南",  
                    num: 200  
                }]  
            }  
        }  
    }  
</script>  

<style scoped>  
    .item_name {  
        line-height: 100rpx;  
        background: #f5f5f5;  
        border: 1rpx solid #333333;  
        text-align: center;  
    }  
</style>
2022-08-02 10:05 负责人:无 分享
已邀请:
小白请指教

小白请指教 - 小白一个

:key="item.name" :key='index' 小程序没有这个问题

  • Arnbib1on (作者)

    :key='index'是没有问题,但是我用:key="item.name"在小程序就会出错

    2022-08-02 10:21

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