介绍

这个问题找了几个小时,赶紧记录一下,以免下次又遇到这个问题了。这件事告诉我们,我们的知识积累是真的很重要,不要太依赖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里去找。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐