介绍
双向绑定是指 组件与数据 之间建立 相互同步 的关系:
- 当 组件内容 被用户修改时,数据 也会自动同步更新
- 当 数据 变化时,组件内容 会自动更新
这种机制简化了 状态管理,避免了手动同步数据的繁琐操作。
状态 具体指什么取决于组件,例如,TextInput 组件的 text 参数
例子
输入组件使用 $$ 绑定的变量,才能实现双向数据绑定
代码
@State inputValue: string = ""
build() {
Column() {
// 输入框
TextInput({
text: $$this.inputValue, // 注意:必须有 $$
})
// 按钮
Button("获取内容")
.onClick(()=>{
console.log("获取内容:",this.inputValue)
})
Button("修改内容")
.onClick(()=>{
this.inputValue = "123"
console.log("修改内容:")
})
}
}
当 组件内容 被用户修改时,数据 也会自动同步更新
当 数据 变化时,组件内容 会自动更新;
使用规则
| 组件 | 支持的参数/属性 |
|---|---|
| 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 |

