繁体   English   中英

Vaadin:以编程方式打开组合框下拉菜单

[英]Vaadin: Open combo box dropdown programmatically

有没有办法以编程方式打开组合框的下拉菜单?

正如@cfrick 所说,从服务器端触发事件是不可能的,但可以从客户端触发。

要运行 javascript 代码,您可以使用

Javascript.getCurrent().execute(myCode);

请注意,此代码仅在执行完所有服务器端操作后以及 vaadin 引擎呈现响应后才会运行。

要传递给 javascript 的代码必须与此类似:

var event;
event = document.createEvent('MouseEvents');
event.initMouseEvent('mousedown', true, true, window);
$("select").dispatchEvent(event)

为了确保良好的行为,您应该在下拉列表中调用 setId() 并将该值用作 jquery 选择器。

参考:

https://vaadin.com/book/vaadin7/-/page/advanced.javascript.html - 如何从 vaadin 运行 javascript 我可以使用 jQuery 打开下拉列表吗- 客户端解决方案http://demo.vaadin.com/sampler /#ui/data-input/multiple-value/drop-down-menu - javascript 代码在采样器中工作

此功能( openPopup() 和 openPopup(int page) 方法)包含在 Vaadin 8 的PrefixComboBox 附加组件中,这是一个扩展的 ComboBox,缺少功能的集合。

如果我没记错的话,您可以使用 Vaadin 14.6.6(流程)中的组合框的以下方法:

.setOpened(true)

我目前正在使用 Vaadin 20 (flow) 并且我正在显示一个由另一个按钮的 clickListener 触发的组合框。 通过使用这种方法,我的 selectionItems 立即显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM