已经通过重写 CreateAction 实现了功能,但感觉不优雅,是否可以通过Editor类的onInitEntity事件去设置选中的父类呢?这个就需要获取选中的数据

已经通过重写 CreateAction 实现了功能,但感觉不优雅,是否可以通过Editor类的onInitEntity事件去设置选中的父类呢?这个就需要获取选中的数据

当然可以在 onInitEntity 方法中给实体属性赋值。这里关键问题是什么?如何获取选中的数据?
是的,求教 

CreateAction<Attachment> createAction = (CreateAction<Attachment>) table.getAction("create");
createAction.setScreenConfigurer(screen -> {
((AttachmentEdit) screen).getCategoryField().setVisible(true);
screen.addAfterShowListener(afterShowEvent -> {
Category currentItem = categoryTree.getSingleSelected();
((AttachmentEdit) screen).getCategoryField().setValue(currentItem);
});
});
TreeTable.getSingleSelected()
搞定
@Autowired
private lateinit var materialTypesTable: TreeTable<MaterialType>
@Install(to = "materialTypesTable.create", subject = "screenConfigurer")
private fun screenConfigurer(screen: Screen?) {
screen!!.addAfterShowListener {
val singleSelected = materialTypesTable.getSingleSelected()
(screen as MaterialTypeEdit).editedEntity.parent = singleSelected
}
}