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
待解决
相关问题
HarmonyOS @State修饰的数组内部的值变化了,怎么刷新UI?
224浏览 • 1回复 待解决
@State 修饰的变量值改变,界面不刷新
1468浏览 • 1回复 待解决
嵌套Class的属性变化无法触发UI渲染
260浏览 • 1回复 待解决
使用@LocalStorageProp修饰的变量,当子组件中的变量值变了,@Entry页面中的值没有发生变化。
346浏览 • 1回复 待解决
使用@State修饰的数组对象,改变其中的某个对象的变量,自定义组件中的UI没有跟着刷新
759浏览 • 1回复 待解决
HarmonyOS 关于@State或@Link 修饰Array的应用
93浏览 • 1回复 待解决
HarmonyOS " @State可以修饰ArrayList吗"
362浏览 • 1回复 待解决
HarmonyOS @state修饰两个变量,出现值不一致
304浏览 • 1回复 待解决
UI界面中用@state绑定的变量,在逻辑代码中class中做了修改,怎么在UI界面察觉到这个@state变量发生了变化
1720浏览 • 1回复 待解决
HarmonyOS @Require 修饰的无状态变量必须要给初始默认值?
124浏览 • 1回复 待解决
HarmonyOS @State装饰的变量需要设置为接口返回的数据时怎么设置初始值?
241浏览 • 1回复 待解决
LocalStorageLink修饰的变量会自动保存
944浏览 • 1回复 待解决
var能否修饰ArkTS中的变量?
477浏览 • 1回复 待解决
@State修饰的对象通过传参给子组件,子组件不刷新,获取的值为空
1953浏览 • 1回复 待解决
HarmonyOS使用ObjectLink Observed 无法监听到嵌套类的属性更新
368浏览 • 1回复 待解决
子组件使用@Link修饰成员变量时,如何通过父组件传值
1830浏览 • 1回复 待解决
@State装饰嵌套结构的变量时,为什么嵌套结构中数组元素增加或减少时界面不会刷新
2617浏览 • 1回复 待解决
backgroud()方法使用@State修饰的状态变量值更新后未能触发不同的@builder方法刷新
2214浏览 • 1回复 待解决
HarmonyOS class里面定义的变量如何动态刷新page页面数据
430浏览 • 1回复 待解决
HarmonyOS 接口返回的json嵌套太多层,怎么转成想要的class对象?
129浏览 • 1回复 待解决
@BuilderParam 不支持普通class的变量
766浏览 • 1回复 待解决
HarmonyOS taskpool执行@Concurrent修饰的方法在访问主线程中的单例变量时,变量是空的
209浏览 • 1回复 待解决
HarmonyOS IDE能否监听到State状态变量是在什么地方修改的,类似代码插桩能力
273浏览 • 1回复 待解决
readonly修饰的数组无法获取数组元素
1991浏览 • 1回复 待解决
HarmonyOS 嵌套组件能否支持state传递或provider、consumer?
249浏览 • 1回复 待解决
可参考一下文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-state-0000001774279614-V5#ZH-CN_TOPIC_0000001834459288__状态变量的修改放在构造函数内未生效
请参考demo: