介绍
这个问题找了几个小时,赶紧记录一下,以免下次又遇到这个问题了。这件事告诉我们,我们的知识积累是真的很重要,不要太依赖AI,我让AI给我找了半个多小时都没找到问题,推荐的都是一些乱七八糟的方法。
问题是这样的
<view class="card_container" @click="enterPatientDetailA(item)" v-for="(item,index2) in item1.list" :key="item.patientId">
当触发点击事件的时候,这里的item就不正确了。其实原因很简单就是这个key有问题。
因为我这边的数据中,家属与患者都有patientId并且这个id还是一样的。所以导致点击的时候传递的item的值不正确。把这个key改为唯一id就可以了,或者直接用index2即可:key="index2"
我估计其中的原理应该是这样的。
渲染是按正常的渲染,item里的内容都能双向绑定显示出来。
但是当触发点击事件的时候,这个时候vue可能会根据这个key去找数组里的这个item是哪个,然后再传过去。而不是直接从dom里去找。