jmix有没有focus事件?比我光标到textfield里面,就弹出一个dialog
Jmix的的 Component
类有一个 unwrap()
方法,可以拿到 Jmix*
或者 com.vaadin.ui.*
组件。Jmix*
组件也都是继承了 Vaadin的组件。
Vaadin组件支持更多的方法,比如focus事件:
@Autowired
private TextField<String> nameField;
JmixTextField jmixTextField = nameField.unwrap(JmixTextField.class);
jmixTextField.addFocusListener(e->{
notifications.create(Notifications.NotificationType.HUMANIZED)
.withCaption("TextField focused")
.show();
});
1 个赞
太好了,一直寻思怎们走到vaddin去,不过xml里面还是只能用一些jmix的组件。
顺便请教一下,script脚本能调到controller那边吗?controller那个名字怎么写都没效果
这个focus事件一直循环调用;
addContextClickListener是鼠标右键触发,
有没有左键的?
怎么循环调用?具体的业务需求是怎样?
textfiled focus弹出一个dialog。进行编辑,关闭了应该是又触发了focus
可以用dialog的closeListener,关闭dialog后,自动focus到下一个组件(调用focus()
方法)?
能移除focus吗?如果其他组件focus我还得传一个组件到fragment。
我查了下,这个应该是不支持的。Vaadin里面就没有。又回过来想了想你这个需求,textField一般是用来输入的,如果是弹窗选择的话,右边会配一个按钮。你看看是不是从设计角度改一改
我尝试了fragment里面多放一个textfield,但是visible=false。focus那个就不生效了。
暂时用了addContextClickListener,是右键点击触发,有点奇怪,可能后面得考虑其他方式了
1 个赞