Как настроить шаблон с несколькими элементами для списка в ui5 - PullRequest
0 голосов
/ 29 марта 2019

в моем приложении UI5 есть список, в котором я хочу показать более одного DisplayListItem.Поэтому я настроил шаблон для связывания списка с
oList.bindAggregation("items", "/my_path", oListTemplate);

Если я создаю шаблон следующим образом:
oListTemplate = new sap.m.DisplayListItem(...);
Все работает безупречно.
Но теперь мне нужно дать несколько new sap.m.DisplayListItem(...) с массивом типа oListTempate = [new sap.m.DisplayListItem(...), new sap.m.DisplayListItem(...),..]; в одном шаблоне.Если я это сделаю, я получаю сообщение об ошибке из-за отсутствия шаблона: Error: Missing template or factory function for aggregation items

Разве невозможно дать более одного элемента с шаблоном.В документе sap: https://sapui5.hana.ondemand.com/1.34.9/docs/guide/91f057786f4d1014b6dd926db0e91070.html есть строка:

Шаблон не обязательно является единственным элементом управления, как показано в примере выше, но также может быть деревом элементов управления.

Из-за этого я думаю, что это возможно, но я не знаю, как это сделать.

заранее спасибо

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Правильный способ указать шаблон:

oList.bindAggregation("items", {
path: "/my_path",
template: oListTemplate
});

Добавление элементов в Список путем создания отдельных элементов может привести к проблемам с производительностью.

0 голосов
/ 29 марта 2019

Просмотрите ваши результаты и добавьте DisplayListItem для каждого результата:

var aItems = [];
oResponse.results.forEach(function(oResult){
  aItems.push(new sap.m.DisplayListItem({
                    label: "oResult.name"
                })
  );
});

Добавьте ваш массив в свой список:

var oList = new sap.m.List({
    headerText: "Test list",
    items: aItems
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...