使用 @Builder数据刷新后UI没有刷新,导致图片错乱怎么解决?
头像 鸿蒙小助手 2026-02-11 13:16:59    发布
7381 浏览 105 点赞 2 收藏

本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

问题描述:

如下代码,直接使用 @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也可以实现需求

参考代码和相关讨论,请点击原帖查看:

https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201164980153582686&fid=0109140870620153026

©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
HarmonyOS
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 商务内容合作QQ:2291221 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除
京ICP备:2022009079号-2
京公网安备:11010502051901号
ICP证:京B2-20230255