OptionDialogFacet
操作
如需添加用户交互按钮,使用界面 XML 描述中的 actions
元素。其内部需使用 action
元素。示例:
<optionDialog id="optionDialog">
<actions>
<action id="ok"
caption="OK"
icon="CHECK"
primary="true"/>
<action id="cancel"
caption="Cancel"
icon="BAN"
description="The changes will not be saved"/>
</actions>
</optionDialog>
action
支持下列属性配置:
-
description
- 定义当用户光标悬停至button
时展示的文本信息。 -
icon
- 为对应的button
定义图标。 -
primary
- 定义是否选中并高亮对应的button
。默认为false
。
如需实现自定义的 action
,使用 DialogActionPerformedEvent
监听器:
@Autowired
protected Notifications notifications;
@Install(to = "optionDialog.ok", subject = "actionHandler")
protected void onDialogOkAction(ActionsAwareDialogFacet.DialogActionPerformedEvent<OptionDialogFacet> event) {
String actionId = event.getDialogAction().getId();
notifications.create(Notifications.NotificationType.TRAY)
.withCaption("Dialog action performed: " + actionId)
.show();
}
当用户在选项对话框中点击 id="ok"
时,会执行监听器内的代码。
用例
<window xmlns="http://jmix.io/schema/ui/window"
caption="msg://optionDialogFacetScreen.caption">
<facets>
<optionDialog id="optionDialog"
caption="Option Dialog"
message="Message"
onButton="optionDialogBtn"> (1)
<actions>
<action id="ok"
caption="OK"
icon="CHECK"
primary="true"/> (2)
<action id="cancel"
caption="Cancel"
icon="BAN"
description="The changes will not be saved"/> (3)
</actions>
</optionDialog>
</facets>
<layout>
<button id="optionDialogBtn"
caption="Show OptionDialog"/> (4)
</layout>
</window>
1 | 在 facets 元素中定义 OptionDialogFacet 。 |
2 | 添加第一个 action 并设置 primary 属性为 true 。 |
3 | 添加第二个 action 并为其设置 description 属性。 |
4 | 定义打开选项对话框的 button 。 |
XML 属性
可以在 Studio 界面设计器中的 Jmix UI 组件面板查看和编辑 facet 支持的属性。 |
caption - contentMode - height - htmISanitizerEnabled - id - message - onAction - onButton - stylename - width - windowMode
本页是否有帮助?
感谢您的反馈