extjs - extjs 将父母的可绑定属性绑定到孩子的
问题描述
我有一个容器,里面有一个或多个表单字段。我想将hidden
父容器的disabled
属性绑定到子项的属性上怎么做?
我这里有一个小提琴来说明。我的可选容器中有必填字段。因此,当可见时,它们应该是必需的,当隐藏时它们应该是可选的。我知道我可以添加一个可以设置allowBlank: true
但看起来很乏味的处理程序。
解决方案
在 viewModel 中注册父级的隐藏状态,以获取子组件中的父级状态。
将 viewModel 中的“containerHidden”属性更改为 true 或 false 以对其进行测试。 这是小提琴
viewModel:{
data:{
containerHidden:true
}
},
defaults: {
labelAlign: "right"
},
items: [
{
xtype: "textfield",
fieldLabel: "Name",
allowBlank: false
},
{
xtype: "datefield",
fieldLabel: "Date of Birth",
emptyText: "18+ gets more options",
allowBlank: false,
listeners: {
change: "onDoBChange"
}
},
{
xtype: "container",
reference: "AgeRestrictedArea",
bind:{
hidden:"{containerHidden}"
},
defaults: {
labelAlign: "right"
},
items: [
{
xtype: "textfield",
fieldLabel: "Hobby",
allowBlank:false,
bind:{
disabled: "{containerHidden}"
}
}
]
}
]
推荐阅读
- apache - .htaccess 调试需要 expr
- reactjs - 在 create-react-app 中调用 axios 时,公共 API 给了我 CORS 错误,但在 Chrome 和 Postman 中一切正常
- arrays - 当字典的值是字符串数组时使用 decodedable 进行解析
- symfony - 登录时Akeneo永远不会停止加载
- python - 如何使用 python 验证 DNSSEC?
- javascript - 从回调中获取价值
- java - 为什么我的代码没有在输入负值的情况下执行?
- java - 如何在命令提示符中启动/停止 Java 进程?
- javascript - Visual Studio Code 和 ESLint 没有检测到拼写错误,例如“style.backgroundCOlor”。我怎样才能解决这个问题?
- python - /accounts/profile/ 处的 ValueError 'image' 属性没有与之关联的文件