刷新
RefreshAction
是一个 列表操作,支持重新加载表格或树组件使用的数据容器。
该操作通过 io.jmix.ui.action.list.RefreshAction
类实现,在 XML 中需要使用操作属性 type="refresh"
定义。可以用 action
元素的 XML 属性定义通用的操作参数,参阅 声明式操作 了解细节。
如果需要在该操作执行前做一些检查或者与用户做一些交互,可以订阅操作的 ActionPerformedEvent
事件并按需调用操作的 execute()
方法。下面的例子中,我们在执行操作前展示了一个自定义对话框:
@Named("custTable.refresh")
private RefreshAction refreshAction;
@Subscribe("custTable.refresh")
public void onCustTableRefresh(Action.ActionPerformedEvent event) {
dialogs.createOptionDialog()
.withCaption("Please confirm")
.withMessage("Are you sure you want to refresh the list?")
.withActions(
new DialogAction(DialogAction.Type.YES)
.withHandler(e -> refreshAction.execute()), // execute action
new DialogAction(DialogAction.Type.NO)
)
.show();
}
另外,还可以先订阅 ActionPerformedEvent
,但是不调用操作的 execute()
方法,而是直接发起数据加载。示例:
@Autowired
private CollectionLoader<Customer> customersDl;
@Subscribe("custTable.refreshAction")
public void onCustTableRefreshAction(Action.ActionPerformedEvent event) {
customersDl.load();
}
本页是否有帮助?
感谢您的反馈