如何使用setVisible()方法设置json模型中元素的可见属性
How to set visible property of element with json model with setVisible() method
我正在使用Web IDE自定义标准fiori应用程序,在这个应用程序中我有以下要求。
我想添加一个复选框,在选中该复选框时,应该显示或隐藏一个现有的输入字段。多个屏幕上都有相同的字段。所以,我必须在多个屏幕上添加复选框。但是,当它在一个屏幕上被选中时,它也应该反映在另一个屏幕中。
这就是我所做的。
在init方法中,我在下面编写了javascript代码来添加复选框。
if(!this.oOtherDate)
{
var that = this;
this.oOtherDate = new sap.m.CheckBox("cOtherDelDate", {
text: "{i18n>OTHER_DELIVERY}",
selected: "{path : 'soc_cart>/showRddInput'}", // This carries the checkbox selection to other pages. It is JSON model.
select: function(oEvent) {
var checked = oEvent.getParameters().selected;
oModelList.getData().showRddList = !checked;
oModelList.getData().showRddInput = checked;
}
});
}
在上面的代码中,在复选框的选择事件中,我正在设置两个JSON属性。一个用于复选框值,另一个用于隐藏一个元素,反之亦然。
到目前为止,一切都很好。但是,现在,我如何将JSON属性值"showRddList"绑定到元素的可见属性?
我尝试过做以下操作,但出现错误:this.byId("Field1").setVisible("{path:'soc_cart>/showRddList'}");
setVisible()方法需要布尔值,在上面的代码行中,它将其视为字符串值。
FYI。。。需要隐藏的元素是在XML视图上定义的,我们不能扩展或自定义视图来指定视图中的绑定属性。所以,我只能从控制器中进行设置。
是否有可能将控制器的可见属性设置为现有元素?
谢谢。
您要查找的是Input的bindProperty
方法。
this.byId("Field1").bindProperty("visible", {
"soc_cart>/showRddList"
});
相关文章:
- javascript来显示元素属性
- 自定义HTML元素属性未显示-Web组件
- 主元素属性?(或技术)
- 使用模板后,使用Angular获取元素属性值
- 如何从不同范围外的元素属性中获取求值表达式
- 可以't访问元素属性(如果已明确设置)
- 传递引用 jQuery 后无法访问元素属性
- 如何替换元素属性中的部分文本
- 添加新元素属性
- 如何使用jQuery访问父元素属性
- 使用jQuery.attr()方法获取元素属性
- 修改时,哪些DOM元素属性会导致浏览器执行回流操作
- Javascript数据将元素属性绑定到URL中的锚href
- 初始化可从元素属性值观察到的Knockout
- 获取内联样式中的元素属性
- 如何在 html 元素属性中使用 Angular 2 外推法
- 将元素属性与 javascript 折叠方法结合使用时,引导折叠无法正常工作
- 如何观察聚合物元素属性值从索引.html的变化
- 使用 JavaScript 修改 DOM 元素属性
- 聚合物节点到元素属性