在SAPUI5 App中显示和隐藏sap.m.Panel

时间:2015-09-15 09:47:48

标签: sapui5

在我的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中是否可以,如果可以,怎么办?

1 个答案:

答案 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");
相关问题