本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。
问题描述:
如下代码,直接使用 @Builder itemBuild 会导致图片错乱,直接写 Image 就正常。 如果我还是想用 @Builder itemBuild,怎么让复用也正常呢?
解决方案:
定义构建函数(@Builder)默认的按值参数传递方式不支持动态改变组件,当传递的参数为状态变量时,状态变量的改变不会引起 @Builder 方法内的 UI 刷新,要实现 UI 动态刷新需要按引用传递参数。
可以参考官方文档中 @Builder 和 @Component 的区别:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkts-8-V5
有两种解决方法:
①按引用传递参数
② 不用 @builder,改为使用自定义组件 @Component 也可以实现需求
参考代码和相关讨论,请点击原帖查看:





