HarmonyOS Canvas的在onReady函数里link对象发生变化并不会重新走判断

@Link isRefshImageCode: boolean //是否刷新图形验证码

Canvas(this.context)
  .width(this.canvas_width)
  .height(this.canvas_height)
  .backgroundColor('#CCC')
  .onReady(() => {
    if (this.isRefshImageCode) {
      this.showCode = this.sCode
      this.aCode = this.sCode.split(",")
      this.showCode = this.drawImgCode(this.context, this.canvas_width, this.canvas_height)
    }
  })

在第一次加载Canvas的时候会正常走进判断,但是当isRefshImageCode父子布局的时候发生变化,都不会走进判断里,是不是onReady方法只会生效一次,后续就算发生变化也不会走进方法体内。目前是要按需刷新画布,有什么方法可以刷新?

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

onReady()会在初始化的时候执行一次,并在之后每次组件大小变化时执行,只有组件的属性变化才会刷新UI,如果只是某个方法体中有状态变量的刷新,并不会刷新UI,Canvas在声明式语法中是数据驱动UI进行刷新,可以将变化的数据通过@Watch监听,可以参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-225-V5

分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS 页面高度发生变化
337浏览 • 1回复 待解决