使用 @Builder数据刷新后UI没有刷新,导致图片错乱怎么解决?

0 评论 6 浏览 0 收藏 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

本文由 @华为开发者联盟 授权发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!