在同一组件内,组件和变量如何建立双向绑定?

在同一组件内,组件和变量如何建立双向绑定?

HarmonyOS
2024-07-11 11:15:24
浏览
收藏 0
回答 2
待解决
回答 2
按赞同
/
按时间
droidzxy

没发现有专门的这类装饰器,但发现了其他方法,例如TextInput组件,

1.先声明变量,

@State text: string = ''

2.然后在组件的onChange事件中刷新变量,

​.onChange((value: string) =>

this.text = value

})



例如:

TextInput({text:this.text,placeholder:'input your word...',controller:this.controller

.placeholderColor(Color.Grey)

.placeholderFont({size:14,weight:400})

.caretColor(Color.Blue)

.width('95%')

.height(40)

.margin(20)

.fontSize(14)

.fontColor(Color.Black)

.inputFilter('[a-z]', (e) =>

console.log(JSON.stringify(e))

})

.onChange((value: string) =>

this.text = value

})

分享
微博
QQ
微信
回复
2024-07-11 15:49:18
噜啦噜啦嘞噜啦嘞

需要使用@State装饰器,组件变化,变量跟着变化;变量变化,组件跟着变化;

例如:

@State age: number = 20
build() {
  Column({ space: 15 }) {
    //点击前显示年龄为20岁
    Text(`年龄${this.age}岁`)
      .width(100)
      .height(40)
      .textAlign(TextAlign.Center)
      .onClick(() => {
        //点击后,将age改为30,Text显示也变为30
        this.age = 30
      })
  }.width('100%')
  .height("100%")
  .justifyContent(FlexAlign.Center)
}
分享
微博
QQ
微信
回复
2024-07-12 10:07:06
相关问题
ArkTS简单类型变量双向数据绑定
1480浏览 • 1回复 待解决
HarmonyOS $$双向绑定问题
284浏览 • 1回复 待解决
HarmonyOS如何实现双向数据绑定
453浏览 • 1回复 待解决
HarmonyOS 无法使用$$双向绑定
837浏览 • 1回复 待解决
自定义组件的传值绑定
942浏览 • 1回复 待解决
组件与子组件使用@Link双向同步
926浏览 • 1回复 待解决