自定义操作类型
在项目中可以新建自定义操作类型或者重载已有的标准操作类型。
例如,假设需要一个操作显示 dataGrid
中当前选中实体的实例名称。你还希望该操作能在多个视图中仅通过指定操作的类型进行使用。按照下面的步骤创建这种操作:
-
创建一个操作类添加
@ActionType
注解,指定需要的操作类型:package com.company.onboarding.view.actions; import com.vaadin.flow.component.Component; import io.jmix.core.MetadataTools; import io.jmix.flowui.Notifications; import io.jmix.flowui.action.ActionType; import io.jmix.flowui.action.list.ItemTrackingAction; import org.springframework.beans.factory.annotation.Autowired; @ActionType("showSelected") public class ShowSelectedAction<E> extends ItemTrackingAction<E> { @Autowired private MetadataTools metadataTools; @Autowired private Notifications notifications; public ShowSelectedAction(String id) { super(id); setText("Show Selected"); } @Override public void actionPerform(Component component) { if (getTarget() != null) { E selected = getTarget().getSingleSelectedItem(); if (selected != null) { notifications.create(metadataTools.getInstanceName(selected)).show(); } } } }
-
现在可以在视图描述中通过设置操作类型使用该操作:
<action id="showSelected" type="showSelected"/>
如果需要重载已有类型,只需要使用相同的名称注册新的操作即可。 |
本页是否有帮助?
感谢您的反馈