k***@163.com
k***@163.com
  • 发布:2023-07-22 08:07
  • 更新:2023-07-22 08:50
  • 阅读:123

uni-list-item中子组件在app端不能够正确更新

分类:uni-app

我使用listCachedData[]二维数组存放获取的数据,然后在uni-list中使用子组件渲染。通过点击tabList,而分别显示数组listCachedData[0][]listCachedData[1][]的数据。在小程序端目前暂时没看到问题,可以正常显示。但是在真机调试中出现了子组件数据错乱的情况。也就是说一个uni-list-item中子组件的部分数据会显示成另一个uni-list-item中同位置子组件的数据。但是uni-list-item中非子组件的数据可以正常切换。
我所有页面都是vue页面,没有nvue页面。
tab项第一次点击切换的时候,是可以正常获取数据并显示的。点击第二次之后,就开始数据混乱了。在小程序端可以随意点击切换,都可以正常显示。
这是什么原因?如何改善?

 <uni-list style="width: 100%;" v-if="sort_index==0&&listCachedData[0].length>0">  
          <uni-list-item  v-for="(item,index) in listCachedData[0]" style="width: 100%;" :key="index" v-slot:body>  
              {{sort_index+" "+item.title}}  
              <self-item type="itemtype" :item_data="item" style="width: 100%;height:100%;" v-if="sort_index==0"></self-item>  
          </uni-list-item>  
</uni-list>  
<uni-list style="width: 100%;" v-if="sort_index==1&&listCachedData[1].length>0">  
          <uni-list-item  v-for="(item,index) in listCachedData[1]" style="width: 100%;" :key="index" v-slot:body>  
              {{sort_index+" "+item.title}}  
              <self-item type="itemtype" :item_data="item" style="width: 100%;height:100%;"></self-item  v-if="sort_index==1">  
          </uni-list-item>  
         </uni-list>
2023-07-22 08:07 负责人:无 分享
已邀请:
k***@163.com

k***@163.com (作者)

似乎解决了。在子组件新增一个单独的key值,以_id为key值。
昨天是:key=xxx,没效果。可能是没有唯一key的原因。
不过我现在的key写法是key=item._id,并没有冒号。这也可以?真奇怪

要回复问题请先登录注册