如何在项目模板中添加IconTabSeparator?

2020-09-05 17:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个带有json视图的sap...

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

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


我有一个带有json视图的sapui5应用。 下面是json视图的代码

json视图如下所示

"节":[
   {
     " id":" idMenuButtonSection",
     " subSections":[
       {
         "主要":[
           {
             " Type":" sap.m.IconTabBar",
             " headerMode":"内联",
             " headerBackgroundDesign":" {widgetModel>/headerBackgroundDesign}",
             "项目":[
               {
                 " path":" widgetModel>/filters",
                 "模板":{
                   " Type":" sap.m.IconTabFilter",
                   " showAll":" {widgetModel> showAll}",
                   " enabled":" {widgetModel> enabled}",
                   " text":" {widgetModel> text}",
                   " icon":" {widgetModel> icon}",
                   " iconColor":" {widgetModel> color}",
                   " count":" {widgetModel> count}",
                   "内容":[
                     {
                       " Type":" sap.m.Button",
                       " text":" {widgetModel> text}"
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
     ]
   }
 ] 

数据绑定如下

" widgetModel":{" headerBackgroundDesign":"透明","过滤器":[{" text":"发布"," count":" 9"," showAll":true},{" text":  "初始时间","颜色":"默认","启用":true,"计数":1," icon":" sap-icon://appointment-2"},{" text":"选项1  "," color":"默认"," count":" 2"," enabled":是," icon":" sap-icon://appointment-2"},{" text":"选项2"  ," count":" 3"," color":"正"," enabled":是," icon":" sap-icon://appointment-2"},{" text":"选项3",  " count":" 3"," color":"默认"," enabled":假," icon":" sap-icon://appointment-2"}]} 
,输出类似于附件中的。 现在,我想添加IconTabSeparator。 如何在过滤器中添加它?
 

(12.4 kB)
付费偷看设置
发送
8条回答
SKY徐
1楼 · 2020-09-05 18:11.采纳回答

根据我的研究,扩展控制器是对此的最佳解决方案。

我在元数据中创建了一个称为分隔符的属性。

我在其中添加了" onBeforeRendereding"事件委托和以下代码。

'onBeforeRendering':函数():void {
让items = this.getAggregation('items');
让itemsLength = items.length-1,
j = 1;
if(itemsLength> 0){
for(let i = 0; i this.insertAggregation('items',
new sap.m.IconTabSeparator({icon:this。 getSeparator()}),
j,true);
j = j + 2;
}
}

}

这就是我解决问题的方式。 感谢大家的时间和帮助

Haoba3210
2楼-- · 2020-09-05 18:03

所有关于动态更改模板的操作都是不可能的,这就是为什么出现错误"不知道如何创建模板"的原因。 ...",

您可以在以下解决方法中进行操作-

1-为您的标签栏提供一个ID,

...。
 " Type":" sap.m.IconTabBar",
 " id":" idTab",
 ..... 

2-在控制器的onInit函数中编写以下代码,

 var _oTab = this.getView()。byId(" idTab");
 _oTab.onAfterRendering =函数(oEvent){
 如果(sap.m.IconTabBar.prototype.onAfterRendering){
 sap.m.IconTabBar.prototype.onAfterRendering.apply(this,arguments);
 }
 for(var i = 0; i  

这应该有效,谢谢

一周热门 更多>