HarmonyOS image 图片src 动态切换显示问题,以及与 badge 结合显示问题

代码如下:

@Entry
@Component
struct BadgePage {
  @State icon: string = "";
  @State isShowRed: boolean = false;

  build() {
    Column() {
      if(this.isShowRed){
        Badge({
          value: '',
          style: { badgeSize: 6, badgeColor: '#FA2A2D' }
        }) {
          Image(this.icon)
            .width(40)
            .height(40)
        }
      }else {
        Image(this.icon)
          .width(40)
          .height(40)
      }

      Button("1、修改图片 icon=空字符串")
        .onClick(()=>{
          this.icon = ""
          console.log("vvvv: icon=1", this.icon)
        })
      Button("2、修改图片存在")
        .onClick(()=>{
          this.icon = "https://www.huawei.com/img/bd_logo1.png"
          console.log("vvvv: icon=2", this.icon)
        })
      Button("3、展示红点")
        .onClick(()=>{
          this.isShowRed = true;
          console.log("vvvv: icon=3", this.icon)
        })
    }
  }
}

问题 1:image 的 src(即代码中的icon,以下称icon) 参数动态可切换时,icon在""和图片资源之间切换

操作步骤:

1、 首次加载时,icon="",image没有图片展示,但是有空白占位

2、动态修改 icon="https://www.huawei.com/img/bd_logo1.png",图片展示,

3、再次操作 1 步骤,icon="",此时出现问题,依然展示步骤 2 的图片

这是否是 image 组件的bug?

在步骤 3 的基础上展示图片红点,红点展示,但是图片为空

我们是做 sdk的,需要动态切换图片,图片的 icon是用户提供的,可能为"",为空的时候难道不应该一直都不展示吗?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

基础组件暂不支持复杂功能,这边建议使用更方便的三方库组件ImageKnife,该三方库组件可以自由配置缓存

策略使用教程:

https://developer.huawei.com/consumer/cn/blog/topic/03864556726850058

三方库gitee链接:

https://gitee.com/openharmony-tpc/ImageKnife

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS SVGA格式图片显示问题
42浏览 • 1回复 待解决
HarmonyOS Image组件网络图片显示
441浏览 • 1回复 待解决
HarmonyOS Image显示GIF图片时的控制
315浏览 • 1回复 待解决
HarmonyOS Image组件无法显示网络图片
1163浏览 • 1回复 待解决
Image如何在多态下显示不同图片
630浏览 • 1回复 待解决
HarmonyOS Image如何显示base64的图片
506浏览 • 1回复 待解决
HarmonyOS 文字显示问题
451浏览 • 1回复 待解决
show databases显示问题
4600浏览 • 2回复 待解决
HarmonyOS 应用显示名称问题
433浏览 • 1回复 待解决