#javascript #sapui5
#javascript #sapui5
Вопрос:
У меня есть список записей. Для отображения списка я использую sap.m.SelectDialog:
<SelectDialog id="idSelDgAddSupervisor" confirm="handleConfirm" growingThreshold="2000" growing="true" showClearButton="true"
items="{items}" multiSelect="true"
liveChange="handleSearch" title="{i18n>Choose}"
autoAdjustWidth="true" growingScrollToLoad="true">
<StandardListItem id="idItem" description="{Name}"
iconDensityAware="false" iconInset="false"
title="{Plant}" type="Active"/>
</SelectDialog>
Кроме того, я поместил окно сообщения «предупреждение» в функцию handleConfirm(), если пользователь выбирает более одной записи. Что-то вроде этого:
ЧТО ПРОИСХОДИТ ПРЯМО СЕЙЧАС, когда пользователь выбирает более одной записи, отображается предупреждающее сообщение, НО оно закрывает всплывающее окно выбора перед отображением всплывающего окна.
ЧЕГО я ХОЧУ ДОБИТЬСЯ Когда пользователь нажимает кнопку «ОК» в предупреждающем сообщении, он должен вернуться к экрану выбора записи, и всплывающее окно выбора не должно закрываться, пока пользователь не выберет ТОЛЬКО одну запись.
Возможно ли это? Заранее спасибо.
Комментарии:
1. Пожалуйста, покажите ваш код для контроллера.
Ответ №1:
Я нашел решение для этого. Что я сделал, так это то, что в событии OnClose диалога я уничтожил идентификатор диалога и повторно открыл тот же диалог после уничтожения идентификатора (чтобы избавить мой код от генерации ошибки «дублированный идентификатор элемента»).).
Ответ №2:
Я думаю, что selectDialog автоматически закрывается.
Теперь вы можете обойти это, установив Select в диалоговом окне, которое вы сможете открывать и закрывать по событию.
Точно так же я понимаю, что ваш пользователь может выбрать ТОЛЬКО ОДНУ запись, так почему multiSelect имеет значение true? если вы установите для него значение false, будет выбрана только одна запись и нет необходимости выводить диалоговое окно с предупреждением.