У меня есть SelectDialog для одного из всплывающих окон. Внутри этого я отображаю данные, используя StandardListItem.
Список показывает более 2000 записей. Однако загрузка данных занимает много времени, поэтому я установил порог 50. Когда пользователь открывает всплывающее окно, он показывает первые 50 записей, когда он прокручивает вниз, следующий набор из 50 записей и так далее.
Теперь проблема заключается в том, что когда пользователь ищет запись (например, «ABC»), эта ABC может находиться в позиции 500 в списке. Он выбирает ABC, закрывает всплывающее окно, а затем снова открывает его, он не может видеть ABC (потому что ABC нет в первых 50 записях). Ему нужно прокрутить вниз 6 раз, чтобы увидеть данные.
Чего я хочу достичь, когда пользователь выбирает записи, он автоматически переходит на верхнюю позицию. UI5 SelectDialog (Демонстрационный набор UI5) не предоставляет эту функциональность, поскольку поддерживает только односторонняя привязка. Любая помощь по этому поводу?
Мой фрагмент.XML-код:
<SelectDialog
id = "idSel"
growingThreshold = "50"
growing = "true"
showClearButton = "true"
items = "{data>AllItems}"
multiSelect = "true"
noDataText = "Not Found"
liveChange = "handleSearch"
title = "Choose"
autoAdjustWidth = "true"
growingScrollToLoad = "true">
<StandardListItem id = "idItem" description = "{data>AllDataId})"
title = "{data>Title}" type = "Active"/>
</SelectDialog>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете попробовать установить запомнитьПодборки = true, чтобы сохранить текущий выбор и загрузить это состояние при повторном открытии диалога.
<SelectDialog
id = "idSel"
rememberSelections = "true"
growingThreshold = "50"
growing = "true"
showClearButton = "true"
items = "{data>AllItems}"
multiSelect = "true"
noDataText = "Not Found"
liveChange = "handleSearch"
title = "Choose"
autoAdjustWidth = "true"
growingScrollToLoad = "true">
<StandardListItem id = "idItem" description = "{data>AllDataId})"
title = "{data>Title}" type = "Active"/>
</SelectDialog>
rememberSelections сохранит/отключит параметры, но «ABC» все равно будет в позиции 500. Я не думаю, что стандартный элемент управления sap.m.SelectDialog имеет способ сделать это.
Хотя я вижу несколько вариантов:
Это не работает, когда я просто загружаю начальные 50 записей, мне нужно загрузить все 1000 записей, чтобы это сработало.