收藏
回答

删除列表部分数据后,使用setData渲染,触发了列表的整体渲染,影响性能?

场景,直播间消息展示,平均每秒收到几条消息。 直播列表超过80条后,截取最新的8条数据,保证最多只显示80条。

if (pageMsgLength> 80){       

      pageMessageList.splice(0,pageMsgLength -8)

      this.setData({       

        pageMessageList: pageMessageList

      })

 }

有人说,可以使用 this.setData({['obj.isShow']: {}}) 类似这种局部更新的方法。

但是 这样长列表会越来越长。 第一次到80条时,可以循环数据,把前72条循环遍历赋值为{}.

但随着列表越来越长,后面每次新增60条数据后,需要把倒数第8条前面的都设置为 {},越来越难操作。

这个问题主要是想解决,pageMessageList.splice(0,pageMsgLength -8) ,再setData的性能问题。有好的办法吗?






回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签