首页 > 解决方案 > fiori 启动板中的稳定 ID

问题描述

我正在为我的应用程序使用 FlexColumnLayout。

在中间列中,我需要访问 FlexColumnLayout 的开始列的控件。这是问题所在:

由于这是一个不同的视图,我无法使用

this.getView().byId("myId")

我的第一个解决方案是通过提供视图 (XML) ID 来使用稳定的 ID。像这样我可以使用:

sap.ui.getCore().byId("application---viewId--myId")

起初它工作得很好,但现在我将我的应用程序集成到 fiori 启动板中,稳定 ID 的第一部分(“viewId”之前的部分)发生了变化,当我进入生产状态时,它会再次发生变化。

有没有办法在没有 sap.ui.getCore().byId 的情况下访问中间列控件?或者有没有办法动态加载第一部分,所以我在传输时不需要更改我的 ID?

遗憾的是,我不知道如何重现 Launchpad 以进行测试,但对于那些想要测试他们对我的问题的想法的人来说,我的 FlexColumnLayout 就像在 DemoApp 中一样构建:https ://sapui5.hana.ondemand.com/ #/entity/sap.f.FlexibleColumnLayout

标签: sapui5primary-key

解决方案


您必须使用createId()函数,这将返回您的控件的完整 ID。

this.byId(this.createId("myid"));

推荐阅读