在使用Tab+TabContent 组件时,遇到数据内容变更不达预期,排查与解决问题过程如下:

1.问题描述

img


期望:点击更新数据按钮,tab和TabContent的内容同时更新

img


实际:第一次点击tab更新了,TabContent未更新,第二次点击TabContent才正常更新

img

2.问题分析

使用@Watch 装饰器监听数据变化,添加日志观察数据变化,debug调试,排查具体原因,发现数据变更后又被重置回来了。分析后发现是foreach重新渲染将改变后的数据覆盖了

3.解决过程

(1)防止foreach重新渲染:button的点击事件只改变数据项中的title
仅修改这一步发现:TabContent没被覆盖,正常改变了,但是tab中的title值没有变化,因为CustomBuilder中两个参数无法检测到变化
(2)将tabBar中CustomBuilder的参数放入到子组件中进行渲染

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐