是否可以通过代码打开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),值是组合框中要选择的列表项。
- 它单击最右侧的向下箭头按钮(其内部 div)
- 渲染listitem html元素,只需找到角色为listitem的元素,然后通过Java 8的流,过滤具有相同值的元素
- 找到后,点击即可选择
关于java - 如何通过代码打开 Vaadin ComboBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25565527/