Vaadin:以编程方式打开组合框下拉列表

时间:2015-07-20 06:48:11

标签: java vaadin

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

3 个答案:

答案 0 :(得分:1)

正如@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 Can I open a dropdownlist using jQuery - 客户端解决方案 http://demo.vaadin.com/sampler/#ui/data-input/multiple-value/drop-down-menu - javascript代码在采样器中工作

答案 1 :(得分:0)

PrefixComboBox add-on中包含Vaadin 8的此功能(openPopup()和openPopup(int页面)方法),它是扩展的ComboBox,是缺少的功能的集合。

答案 2 :(得分:0)

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

.setOpened(true)

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