处理SelectDialogBox的CONFIRM事件的行为

时间:2019-03-15 12:00:05

标签: javascript sapui5 ui5-library

我有一个记录列表。要显示列表,我使用的是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 :(得分:0)

我为此找到了解决方案。我所做的是,在对话框的onClose事件中,我销毁了对话框的ID,并在销毁了ID后重新打开了同一对话框(以免我的代码避免产生“重复元素ID”错误)。

答案 1 :(得分:-1)

我认为selectDialog自动关闭。

您现在可以通过将“选择”设置为一个对话框来绕开该事件,该对话框将可以在事件中打开和关闭。

以同样的方式,我知道您的用户可以选择“仅一个”条目,那么为什么multiSelect为true?如果将其设置为false,则只会选择一个条目,而无需放置警告对话框。