SAPUI5 - FilterBar - setVisible无法正常工作

时间:2015-08-19 14:55:52

标签: filter sapui5 visible uncaught-typeerror

我在项目中使用sap.ui.comp.filterbar.FilterBar控件。一切正常,除非我试图隐藏此控件。

var oFilterBar = new sap.ui.comp.filterbar.FilterBar("filterBar",{
    reset: oController.handleOnReset,
    search: oController.handleOnSearch,
    showRestoreOnFB: true,
    showClearOnFB: true,
    showRestoreButton: true,
    showClearButton: true,
    ...
    });
oFilterBar.setVisible(false);

我收到以下错误:
Uncaught TypeError: oFilterBar.setVisible is not a function

由于这个属性是从sap.ui.core.Control类继承的,所以这应该有效,我认为它与版本无关(我使用的是1.24)。

1 个答案:

答案 0 :(得分:2)

它与版本有关。

在SAPUI5 1.28 [1]中,属性visible已移至sap.ui.core.Control,因此任何扩展它的Control都会拥有此属性。

如果您使用的是早期版本,则只能实现此属性的控件不可见。

但是,您可以扩展您正在使用的控件以包含此属性:

sap.ui.comp.filterbar.FilterBar.extend("my.FilterBar", {
    metadata: {
        properties: {
            visible: {
                type: "boolean",
                group: "Appearance"
            }
        }
    },
    renderer: function (oRm, oControl) {
        if (oControl.getVisible()) {
            sap.ui.comp.filterbar.FilterBarRenderer.render(oRm, oControl);
        } else {
            // Handle invisibility
        }
    }
});