Обработка поведения события CONFIRM для SelectDialogBox - PullRequest
0 голосов
/ 15 марта 2019

У меня есть список записей. Для отображения списка я использую 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>

enter image description here

Кроме того, я поместил окно с предупреждением в функцию handleConfirm (), если пользователь выбирает более одной записи. Примерно так:

enter image description here

ЧТО ПРОИСХОДИТ ПРЯМО СЕЙЧАС Когда пользователь выбирает более одной записи, он показывает предупреждающее сообщение, НО закрывает всплывающее окно выбора до того, как показывает всплывающее окно.

ЧТО ХОЧУ ДОСТИГАТЬ Когда пользователь нажимает кнопку «ОК» в предупреждающем сообщении, он должен вернуться к экрану выбора записи, а всплывающее окно выбора не должно закрываться, пока пользователь не выберет ТОЛЬКО одну запись.

Возможно ли это? Заранее спасибо.

Ответы [ 2 ]

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

Я нашел решение для этого. То, что я сделал, было в событии onClose диалогового окна, я уничтожил идентификатор диалогового окна и снова открыл то же самое диалоговое окно после уничтожения идентификатора (чтобы сохранить мой код от генерации ошибки «дублированный идентификатор элемента»).

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

Я думаю, что selectDialog auto-Close.

Теперь вы можете обойти это, установив Select в диалоге, который вы сможете открывать и закрывать по событию.

Точно так же я понимаю, что ваш пользователь может выбрать ТОЛЬКО ОДНУЮ запись, так почему multiSelect является верным? если вы установите значение false, будет выбрана только одна запись, и нет необходимости выводить диалоговое окно с предупреждением.

...