在我的sapui5应用中,我有4个面板,使用sap.m.Panel
控件创建。
var oPanel1 = new sap.m.Panel({
headerText : "1",
});
var oPanel2 = new sap.m.Panel({
headerText : "2",
});
var oPanel3 = new sap.m.Panel({
headerText : "3",
});
var oPanel4 = new sap.m.Panel({
headerText : "4",
});
现在我想添加一个设置按钮,其中包含一个包含复选框元素的表单作为面板名称,默认情况下,所有面板名称都会在表单中进行检查。
如果我想通过取消选中设置表单中的任何面板名称来隐藏任何面板。
在SAPUI5中是否可以,如果可以,怎么办?
答案 0 :(得分:2)
您可以通过将属性绑定到模型属性来使Panel的可见性成为条件。 在下一步中,将复选框的已检查状态绑定到同一模型属性。
var oModel = new sap.ui.model.json.JSONModel({
panels: {
1: {
visible: true
}
}
});
var oPanel1 = new sap.m.Panel({
headerText : "1",
visible: "{panelModel>/panels/1/visible}"
});
oPanel1.setModel(oModel, "panelModel");
var oCheckBox1 = new sap.m.CheckBox({
selected: "{panelModel>/panels/1/visible}",
text: "1"
});
oCheckBox1.setModel(oModel, "panelModel");