Диалог выбора не загружает больше данных

У меня есть диалог выбора. По соображениям производительности, я сохранил порог роста как 100 записей из 2000 записей.

Таким образом, пользователь может увидеть 100 записей при открытии всплывающих окон. Я написал growingScrollToLoad так что когда пользователь прокручивает страницу вниз, загружаются еще 100 записей.

Тем не менее, это не работает как-то. Первоначально Popover показывает только 100 записей, и даже если я прокручиваю его вниз, он не загружает больше данных. Я не уверен, что я делаю не так. Я пытался использовать все теги / свойства, описанные в Руководствах SAPUI5. Кроме того, он работает в https://sapui5.hana.ondemand.com/

<SelectDialog confirm="handleConfirm" 
              growingThreshold="100" 
              growingScrollToLoad="true" 
              items="{myModel>/AllData}"
              multiSelect="true" 
              noDataText="No data" 
              liveChange="handleSearchOnDialog" 
              title="Choose" 
              autoAdjustWidth="true">

    <StandardListItem id="idItemA" 
                      description="{Name}" 
                      iconDensityAware="false" 
                      iconInset="false" 
                      title="title" 
                      type="Active"/>
</SelectDialog>

2 ответа

Я нашел решение без изменения контроля.

В файле XML я предоставил growingThreshold="100" growing="true" Выбрать диалог. В файле контроллера, для onOpen Событие диалога выбора, я написал этот кусок кода:

var sGrowingThreshold = this._oSelectDialog.getGrowingThreshold(); //sGrowingThreshold will be 100

if (sGrowingThreshold) 
       {
                this._oSelectDialog.setGrowing(sGrowingThreshold);
       }

Это работало и загружало данные каждый раз, когда я прокручивал до конца.

Пожалуйста, посмотрите на API: https://sapui5.hana.ondemand.com/

Вы заметите growingScrollToLoad не указан в разделе свойств sap.m.SelectDialog ==> вы не можете использовать эту функцию

Недвижимость growingScrollToLoad является собственностью sap.m.ListBase, Поэтому, если вы хотите использовать его, вам нужно создать собственный диалог, который имеет sap.m.List или любой другой ребенок sap.m.ListBase как содержание.
(sap.m.SelectDialog прямой ребенок sap.ui.core.Control -> не имеет прямого отношения к sap.m.ListBase)

Другие вопросы по тегам