我有一个记录列表。要显示列表,我使用的是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()函数中放置一个“警告”消息框。像这样:
现在正在发生什么 当用户选择一项以上时,它会显示警告消息,但会在显示弹出窗口之前关闭选择弹出窗口。
我想实现的目标 当用户单击警告消息中的“确定”按钮时,应返回到条目选择屏幕,并且在用户仅选择一个条目之前,选择弹出框不应该关闭。
有可能吗?提前致谢。
答案 0 :(得分:0)
我为此找到了解决方案。我所做的是,在对话框的onClose事件中,我销毁了对话框的ID,并在销毁了ID后重新打开了同一对话框(以免我的代码避免产生“重复元素ID”错误)。
答案 1 :(得分:-1)
我认为selectDialog自动关闭。
您现在可以通过将“选择”设置为一个对话框来绕开该事件,该对话框将可以在事件中打开和关闭。
以同样的方式,我知道您的用户可以选择“仅一个”条目,那么为什么multiSelect为true?如果将其设置为false,则只会选择一个条目,而无需放置警告对话框。