HarmonyOS @State修饰的class变量没有嵌套的值无法监听
@State buttonProperty: ButtonProperty = new ButtonProperty(0)
build() {
Column() {
Button("触发动画", { type: ButtonType.Normal })
.fontColor(Color.Black)
.fontWeight(FontWeight.Bold)
.border({ width: 1, color: Color.Blue })
.borderRadius(5)
.backgroundColor(Color.Yellow)
.margin(this._margin)
.width('100%')
.height('6%')
.onClick(() => {
this.buttonProperty.animator()
})
Button("被触发动画", { type: ButtonType.Normal })
.fontColor(Color.Black)
.fontWeight(FontWeight.Bold)
.border({ width: 1, color: Color.Blue })
.borderRadius(5)
.backgroundColor(Color.Yellow)
.margin(this._margin)
.width('100%')
.height('6%')
.translate({ x: this.buttonProperty.translateX })
.onClick(() => {
showResult("这是一个 Dialog")
})
}
}
export class ButtonProperty {
translateX: number
constructor(translateX: number) {
this.translateX = translateX
}
animator = (): void => {
this.translateX = -1
console.error("Step01 this.translateX = " + this.translateX)
animateTo({ duration: 2000, curve: curves.springCurve(200, 1, 1, 1.2) }, () => {
console.error("以指定初速度进行x方向的平移的弹簧动画")
// 以指定初速度进行x方向的平移的弹簧动画
this.translateX = 0
console.error("Step02 this.translateX = " + this.translateX)
})
}
}
根据文档对@State装饰变量的属性赋值是可观察的。
// class属性的赋值 this.title.value = 'Hi';
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
@State 修饰的变量值改变,界面不刷新
1334浏览 • 1回复 待解决
嵌套Class的属性变化无法触发UI渲染
198浏览 • 1回复 待解决
HarmonyOS " @State可以修饰ArrayList吗"
297浏览 • 1回复 待解决
使用@LocalStorageProp修饰的变量,当子组件中的变量值变了,@Entry页面中的值没有发生变化。
304浏览 • 1回复 待解决
使用@State修饰的数组对象,改变其中的某个对象的变量,自定义组件中的UI没有跟着刷新
628浏览 • 1回复 待解决
UI界面中用@state绑定的变量,在逻辑代码中class中做了修改,怎么在UI界面察觉到这个@state变量发生了变化
1672浏览 • 1回复 待解决
HarmonyOS @State装饰的变量需要设置为接口返回的数据时怎么设置初始值?
174浏览 • 1回复 待解决
var能否修饰ArkTS中的变量?
403浏览 • 1回复 待解决
LocalStorageLink修饰的变量会自动保存
901浏览 • 1回复 待解决
HarmonyOS @state修饰两个变量,出现值不一致
260浏览 • 1回复 待解决
HarmonyOS使用ObjectLink Observed 无法监听到嵌套类的属性更新
282浏览 • 1回复 待解决
@State修饰的对象通过传参给子组件,子组件不刷新,获取的值为空
1870浏览 • 1回复 待解决
@State装饰嵌套结构的变量时,为什么嵌套结构中数组元素增加或减少时界面不会刷新
2499浏览 • 1回复 待解决
@BuilderParam 不支持普通class的变量
689浏览 • 1回复 待解决
子组件使用@Link修饰成员变量时,如何通过父组件传值
1743浏览 • 1回复 待解决
HarmonyOS taskpool执行@Concurrent修饰的方法在访问主线程中的单例变量时,变量是空的
112浏览 • 1回复 待解决
HarmonyOS class里面定义的变量如何动态刷新page页面数据
342浏览 • 1回复 待解决
HarmonyOS 嵌套组件能否支持state传递或provider、consumer?
167浏览 • 1回复 待解决
backgroud()方法使用@State修饰的状态变量值更新后未能触发不同的@builder方法刷新
2155浏览 • 1回复 待解决
readonly修饰的数组无法获取数组元素
1888浏览 • 1回复 待解决
HarmonyOS 组件@State最小化build监听VM
173浏览 • 1回复 待解决
调试时变量的值怎么看?
6218浏览 • 1回复 待解决
HarmonyOS 普通的class文件中,无法弹出dialog
155浏览 • 1回复 待解决
HarmonyOS IDE能否监听到State状态变量是在什么地方修改的,类似代码插桩能力
222浏览 • 1回复 待解决
HarmonyOS @State赋相同值的时候,会引起组件的重新渲染吗?
240浏览 • 1回复 待解决
可参考一下文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-state-0000001774279614-V5#ZH-CN_TOPIC_0000001834459288__状态变量的修改放在构造函数内未生效
请参考demo: