HarmonyOS list数据刷新,头像闪烁?

使用@State修饰数据源,列表数据刷新,列表item内图片闪烁 。

刷新代码:

changeLike(item: ReplyItemModel) {
  if (item.likeFlag) {
    // 点过赞
    item.likeNum--
  } else {
    // 没有点过赞
    item.likeNum++
  }
  item.likeFlag = !item.likeFlag // 取反
  const index = this.commentList.findIndex(obj => obj.id === item.id)
  this.commentList[index] = new ReplyItemModel(item)
}
阅读 550
1 个回答

请参考:用@ObjectLink去改造:若仅靠LazyForEach的刷新机制,当item变化时若想更新子组件,需要将原来的子组件全部销毁再重新构建,在子组件结构较为复杂的情况下,靠改变键值去刷新渲染性能较低。

因此框架提供了@Observed与@ObjectLink机制进行深度观测,可以做到仅刷新使用了该属性的组件,提高渲染性能。

开发者可根据其自身业务特点选择使用哪种刷新方式。

文档支持 :https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-rendering-control-lazyforeach-V5

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进