在 OpenUI5 中,如何让目标加载新工具栏,但擦除现有工具栏?



我有一个小型测试应用程序(刚刚入门(,我想根据我所在的应用程序区域更改工具栏。目前,我正在使用工具栏控件。当目标将视图实例化到工具栏中时,多个工具栏同时可见。

我已经看到"clearAggregation":true 应该确保只有一个工具栏,但我的目标设置中的配置项没有得到遵守。

我认为某些容器由于其预期目的而不遵守"ClearAggregation",所以我的问题是我应该使用哪个容器,以便我可以通过路由和导航系统填充该区域?

目标:

    "signedout-toolbar": {
      "viewName": "SignedOutToolbar",
      "controlId": "__component0---appframe--main-toolbar",
      "controlAggregation": "content",
      "clearAggregation":  true
    },
    "standard-toolbar": {
      "viewName": "StandardToolbar",
      "controlId": "__component0---appframe--main-toolbar",
      "controlAggregation": "content",
      "clearAggregation":  true
    },

根视图:

<mvc:View
controllerName="cpanel.controller.App"
xmlns:mvc="sap.ui.core.mvc"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
displayBlock="true"
xmlns="sap.m">
  <ToolBar id="main-toolbar" />
  <App id="app" />
</mvc:View>

我认为clearAggregation不是一个有效的属性。

根据您的版本,您必须使用clearTargetclearControlAggregation

如果您看一下文档:

oConfig.clearTarget?自 1.28 起@deprecated - 使用 target.clearControlAggregation. 默认值为 false。定义布尔值 可以传递以指定是否应清除聚合 ,然后向其添加视图。当使用 sap.ui.ux3.Shell 这个 应该是真的。对于 sap.m.NavContainer,它应该是假的。

欲了解更多信息,请看这里

最新更新