我正在使用 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() 方法需要布尔值,在上面的代码行中,它认为是字符串值。
仅供参考...需要隐藏的元素是在 XML 视图上定义的,我们不能扩展或自定义视图以指定视图中的绑定属性。所以,我只能从控制器设置它。
是否有可能将可见属性从控制器设置为现有元素?
谢谢。