我在项目中使用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)。
答案 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
}
}
});