标准操作
框架提供标准操作用于处理常见任务,例如为 dataGrid
中选择的实体调用详情界面。通过在 type
属性中指定其类型,就可以在视图 XML 描述中声明标准操作。
每个标准操作都通过一个使用了 @ActionType("<some_type>")
注解的类实现。该类定义了操作的默认属性和行为。
可以通过指定基本操作的 XML 属性 来覆盖通用的属性:text
、icon
、shortcutCombination
等。示例:
<action id="create" type="list_create"
actionVariant="SUCCESS" icon="PLUS_CIRCLE"/>
有多种类型的标准操作:
附加属性
标准操作通常带有附加参数,可以在 XML 进行设置或者在 Java 中用 setter 方法进行设置。在 XML 中,使用内部的 <properties>
元素设置,其中每个 <property>
元素对应一个操作类中的 setter 方法:
<action id="edit" type="list_edit">
<properties>
<property name="viewId" value="CustomDepartmentDetailView"/>
</properties>
</action>
在 Java 控制器也可以做同样的设置:
@ViewComponent("myDepartmentsTable.edit")
private EditAction<Department> myDepartmentsTableEdit;
@Subscribe
public void onInit(final InitEvent event) {
myDepartmentsTableEdit.setViewId("CustomDepartmentDetailView");
}
配置处理方法
如果一个操作的 setter 接收 handler 参数,可以在视图控制器安装一个 handler。比如,CreateAction 有 setAfterSaveHandler(Consumer)
方法,支持设置一个 handler,在创建的实体提交之后调用这个 handler。那么可以按照下面的方式在视图控制器中安装:
@Install(to = "departmentsTable.create", subject = "afterSaveHandler")
private void departmentsTableCreateAfterSaveHandler(final Department department) {
notifications.create("Created " + department).show();
}
在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 Code → Generate 菜单(Alt+Insert / Cmd+N)生成。 |
本页是否有帮助?
感谢您的反馈