Как добавить IconTabSeparator в шаблон элементов? - PullRequest
0 голосов
/ 01 мая 2019

У меня есть приложение SAPUI5 с представлением JSON.Ниже приведен код для представления JSON

"sections": [
  {
    "id": "idMenuButtonSection",
    "subSections": [
      {
        "main": [
          {
            "Type": "sap.m.IconTabBar",
            "headerMode": "Inline",
            "headerBackgroundDesign": "{widgetModel>/headerBackgroundDesign}",
            "items": [
              {
                "path": "widgetModel>/filters",
                "template": {
                  "Type": "sap.m.IconTabFilter",
                  "showAll": "{widgetModel>showAll}",
                  "enabled": "{widgetModel>enabled}",
                  "text": "{widgetModel>text}",
                  "icon": "{widgetModel>icon}",
                  "iconColor": "{widgetModel>color}",
                  "count": "{widgetModel>count}",
                  "content": [
                    {
                      "Type": "sap.m.Button",
                      "text": "{widgetModel>text}"
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  }
]}

И я хочу добавить еще одну агрегацию IconTabSeparator.Как мне это добавить?

Можно ли отправить этот разделитель в виде JSON, когда я использую шаблон?я должен добавить этот разделитель в контроллере?

1 Ответ

0 голосов
/ 02 мая 2019

Я решил это, расширив существующий элемент управления (sap.m.IconTabBar). Я добавил одно свойство в метаданные, которое является разделителем, и в делегировании события onBeforeRendering Я добавил следующий код

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