HarmonyOS NEXT鸿蒙开发:$$语法:内置组件双向同步(双向数据绑定)

介绍

双向绑定是指 组件与数据 之间建立 相互同步 的关系:

  • 当 组件内容 被用户修改时,数据 也会自动同步更新
  • 当 数据 变化时,组件内容 会自动更新

这种机制简化了 状态管理,避免了手动同步数据的繁琐操作。

状态 具体指什么取决于组件,例如,TextInput 组件的 text 参数

官方网址

例子

输入组件使用 $$ 绑定的变量,才能实现双向数据绑定

代码

@State inputValue: string = ""
  build() {
    Column() {
      // 输入框
      TextInput({
        text: $$this.inputValue, // 注意:必须有 $$
      })
      // 按钮
      Button("获取内容")
        .onClick(()=>{
          console.log("获取内容:",this.inputValue)
        })
      Button("修改内容")
        .onClick(()=>{
          this.inputValue = "123"
          console.log("修改内容:")
        })

    }
}

当 组件内容 被用户修改时,数据 也会自动同步更新

当 数据 变化时,组件内容 会自动更新;

使用规则

  • 当前 $$ 支持基础类型变量,以及 @State、@Link 和 @Prop 装饰的变量。

  • $$ 支持的组件及其属性:

组件 支持的参数/属性
Checkbox select
CheckboxGroup selectAll
DatePicker selected
TimePicker selected
MenuItem selected
Panel mode
Radio checked
Rating rating
Search value
SideBarContainer showSideBar
Slider value
Stepper index
Swiper index
Tabs index
TextArea text
TextInput text
TextPicker selected、value
Toggle isOn
AlphabetIndexer selected
Select selected、value
BindSheet isShow
BindContentCover isShow
Refresh refreshing
GridItem selected
ListItem selected

原文出处:/show_1GW1xzkkqJE9.html