java - 如何通过代码打开 Vaadin ComboBox?

标签 java combobox vaadin

是否可以通过代码打开Vaadin ComboBox

我想展示 2 个相互依赖的组合框。当用户在第一个中选择一个值时,我希望第二个组合框自动打开可能的选择,以便用户可以直接选择一个,而不必自己打开第二个组合框。

也许我可以发送一个事件来触发打开?

最佳答案

我在 Vaadin 7 中使用 Selenium WebDriver 完成了此操作:

public void selectValueInCombobox(WebElement cmb, String value) {
    cmb.findElement(By.tagName("div")).click(); //shows the menu
    List<WebElement> findElements = webDriver.findElements(By.cssSelector("td[role='listitem']"));
    findElements.stream()
        .filter(item-> value.equals(item.findElement(By.tagName("span")).getText()))
        .findFirst().get().click();
}

WebElement 是组合框(在 html 中呈现时为 div),值是组合框中要选择的列表项。

  1. 它单击最右侧的向下箭头按钮(其内部 div)
  2. 渲染listitem html元素,只需找到角色为listitem的元素,然后通过Java 8的流,过滤具有相同值的元素
  3. 找到后,点击即可选择

关于java - 如何通过代码打开 Vaadin ComboBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25565527/

相关文章:

java - 在 JAXB 中编码时隐藏 XMLAttribute,而不将其设置为 null

java - Singleton Util 类的替代方案

c# - 将mysql数据库中的数据显示到列表框中(从组合框中选择的数据)c#

grails - 为什么 Vaadin 而不是 Groovy 和 Grails?

java - Vaadin:滤波器菊花链?

java文档解析xml失败

JavaFx:使 ChangeListener 无效

c# - 为什么ComboBox在WPF MVVM中保留不同的值?

JavaFX : How to change ComboBox/ChoiceBox Drop Down Button Position?

java - Vaadin 当前显示的对象序列化时出现 NotSerializedException