HarmonyOS 非UI类中改变State装饰属性,无法触发UI渲染
页面StateDemo有一个StateComponent组件,该组件对应的ViewModel类StateViewModel中有个hidden属性来控制StateComponent组件的按钮隐藏/显示,现象如下:
1、由StateComponent组件内部点击事件调用StateViewModel的changeHidden方法,按钮能正常隐藏/显示
2、由ViewModel类的定时器调用changeHidden方法,无法控制按钮正常隐藏/显示
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
嵌套Class的属性变化无法触发UI渲染
719浏览 • 1回复 待解决
HarmonyOS @State修饰@observed装饰的对象, 对象里的数组改变, 不会触发ui刷新
418浏览 • 1回复 待解决
HarmonyOS 在定时器里面改变@state修饰的变量,无法更新UI吗?
592浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在HarmonyOS NEXT中,如何使用@State装饰器确保变量变化能够触发UI刷新?
366浏览 • 0回复 待解决
@State属性变更触发UI渲染的方式,一般会附带对于某些属性变量的信号监听,但是HarmonyOS未提供此功能API
555浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog自定义弹窗在非UI类中调用问题
312浏览 • 1回复 待解决
#鸿蒙学习大百科#在继承类中,如何才能使属性的变化触发UI刷新?
542浏览 • 1回复 待解决
HarmonyOS @BuilderParam组件作为参数传递后自身引用的@State变量无法触发UI布局更新
226浏览 • 1回复 待解决
#鸿蒙学习大百科#嵌套类中的属性如何才能具有触发UI刷新的能力?
552浏览 • 1回复 待解决
HarmonyOS UI绘制装饰器无法通知刷新的问题
221浏览 • 1回复 待解决
HarmonyOS 可以通过其他类中的静态属性,更新本类中的UI吗?
508浏览 • 1回复 待解决
HarmonyOS 如何让自定义类中的属性变化引起UI刷新?
678浏览 • 1回复 待解决
HarmonyOS 如何在非UI组件中实现CustomDialogController弹窗
415浏览 • 1回复 待解决
HarmonyOS dialog在非组件类中无法弹出
493浏览 • 1回复 待解决
HarmonyOS ObjectLink修饰符对象的属性改变不能引起UI刷新
825浏览 • 1回复 待解决
HarmonyOS 为什么@Link的属性变更不会触发UI刷新?
843浏览 • 1回复 待解决
HarmonyOS 当UI组件visibility发生改变时,会触发哪些生命周期
133浏览 • 1回复 待解决
HarmonyOS @State刷新不了数组里面包含类的字段刷新UI
308浏览 • 1回复 待解决
HarmonyOS 在@builder中使用引用传递无法触发UI刷新
290浏览 • 1回复 待解决
HarmonyOS Dialog弹窗在非UI组件代码中不显示
280浏览 • 1回复 待解决
HarmonyOS setInterval回调之后@state修饰的变量对应的UI无法更新
390浏览 • 1回复 待解决
HarmonyOS 在非UI描述中观测变化
425浏览 • 1回复 待解决
ForEach数组发生改变。UI没刷新
1222浏览 • 1回复 待解决
使用LazyForEach渲染语法渲染组件,UI不刷新。
1590浏览 • 1回复 待解决
UI界面中用@state绑定的变量,在逻辑代码中class中做了修改,怎么在UI界面察觉到这个@state变量发生了变化
2088浏览 • 1回复 待解决
在状态管理中,使用@Observed装饰类后,会给该类使用一层“代理”进行包装。当在组件中改变该类的成员变量时,会被该代理进行拦截,在更改数据源中值的同时,也会将变化通知给绑定的组件,从而实现观测变化与触发刷新。当开发者在类的构造函数中对成员变量进行赋值或者修改时,此修改不会经过代理(因为是直接对数据源中的值进行修改),也就无法被观测到。所以,如果开发者在类的构造函数中使用定时器修改类中的成员变量,即使该修改成功执行了,也不会触发UI的刷新。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-observed-and-objectlink-0000001774279618#ZH-CN_TOPIC_0000001811157490__在observed装饰类的构造函数中延时更改成员变量