如何在SAPUI5应用程序中使用"短" ID

2020-08-31 04:17发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我试图了解ID在SA...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我试图了解ID在SAPUI5应用程序上的工作方式,并感到有些困惑。

我知道SAPUI5将所有父ID串联在一起以创建唯一的ID,不会与其他视图上可能的ID产生冲突。

问题是,如果我使用此长的串联ID,然后将我的应用程序上载到Fiori,则所有ID都会更改,并且将无法正常工作。

在当前应用程序上,我试图获取树视图,然后将项目绑定到该视图。

这是我的主要视图代码:

这是我的树状视图代码:

在我的控制器上,我有以下代码:

第一行标记,我在其中查找带有ID" treeTemplate"的元素可以正常工作

第二行和第三行标记正常,但会导致ID更改的问题。

最后标记的那一行对我来说是完美的,但是不起作用。 而且我不明白为什么第一行有效,而当我完全相同时,使用视图上的ID却行不通。
我需要知道如何避免使用" application-ZProcesos-track-component "部分,因为其他部分不会改变。

请,如果有人能解释有关ID的逻辑,请多谢我,因为我只能找到关于SAPUI5为何执行此串联的文档,但无法避免它,或者为什么我需要某些元素, 完整ID和其他ID与"短" ID一起使用。

谢谢。

(23.6 kB)
3条回答
三十六小时_GS
2020-08-31 04:22

如果您查看源代码,您不会感到惊讶。

当您调用byid时,它(createId)仅将id连接到视图中的当前层次结构级别,您从嵌入式视图中提供了一个id,它将无法工作。

 View.prototype.byId = function(sId){

 返回sap.ui.getCore()。byId(this.createId(sId));

 }

 View.prototype.createId = function(sId){

 如果(!this.isPrefixedId(sId)){

//视图用2个破折号作为分隔符,组件3和控件/元素1 sId = this.getId()+"-" + sId;

 }

 返回sId;

 }; 

一周热门 更多>