如何通过代码打开 Vaadin ComboBox?

2023-12-25

是否可以开一个Vaadin ComboBox通过代码?

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

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


我在 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. 找到后点击就会被选中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过代码打开 Vaadin ComboBox? 的相关文章

随机推荐

  • 无法对 DataGrid 中的日期列进行排序

    我添加了一个日期列DatePicker to my DataGrid并且无法通过单击来对该列进行排序Header 我想这与我的日期格式有关 但我找不到解决方案 我的代码是
  • 在传递到 Web 服务之前将 jqGrid rowNum 从 ALL 更改为 -1 的最佳方法

    我正在寻找允许用户选择在 jqGrid 中显示所有记录的最佳方法 我知道为 rows 参数传递的 1 值表示 ALL 但我希望单词 ALL 而不是 1 出现在 rowList 选择元素中 即 行列表 15 50 100 全部 我正在将网格请
  • 改造android的Proguard规则

    我正在对 Android 应用程序实施混淆器规则 当我编译该 apk 时 改造类仍然没有改变 请看一下我的 proguard 文件 并请指导我哪里缺少规则 keep public class org slf4j keep public cl
  • 如何在Tab布局中设置Tab宽度?

    我正在尝试创建一个tab layout其中有两个tabs 当我在小型手机上运行该应用程序时tab layout看起来不错 但是当我运行相同的应用程序时Tablet它显示如下 在平板电脑上看起来像这样 我希望每个选项卡占据整个空间 两端没有任
  • Javascript 验证 HTML 表单中的 X 个字段

    我有一个表单 其中包含大约 10 个文本条目 用户 地址 电子邮件等 大约有 50 多个条目是数量条目 用户选择该条目的 2 倍 该条目的 5 倍 现在 我从其他人那里继承了这张表格 现在我有责任在客户要求时保持最新状态 我不想全部重写 但
  • 如何将 core-js Map 导入 angular-cli webpack 生成的应用程序

    1 0 0 beta 11 webpack 现在使用 core js 进行 polyfill 我正在尝试导入地图以在我的应用程序中使用 import Map from core js es6 map import Map from core
  • 为什么合并 PDF 会使文件大小变大?

    我正在尝试将各种 PDF 拆分在一起 它们的文字不多 偶尔会有图像 举例来说 我有两个 PDF 1 4Mb 和 740kb 当我将它们合并时 它们会膨胀到 6Mb 我尝试过脚本化组合和手动附加 结果相同 所以我猜测这是一个根本问题 对为什么
  • 上下文在 Code First 模式下使用,其中的代码是从 EDMX 文件生成的,用于 Database First 或 Model First 开发

    我正在尝试将最初使用 EF4 开发的项目迁移到 EF6 以利用 EF6 事务管理 我面临的问题是该项目是使用数据库优先方法创建的 所以当我使用类似的代码时context Database UseTransaction 我遇到以下错误 The
  • Sublime text:如何将键绑定添加到 hex_viewer 包命令

    我已经在 sublime text 3 上安装了 Hex Viewer 包 为了切换它 我使用 ctrl shift p 打开命令面板 然后我搜索 hex 并选择包的命令来切换十六进制视图 我想知道如何将键绑定到特定的包命令 我知道键绑定配
  • IISExpress 用户界面 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我刚刚下载并安装了 IIS Express 从命令行运行它一切正常 但是我如何配置它的选项 是否有一个
  • Python os.path.relpath 行为

    我有一个目录bar在目录内foo 带文件foo file txt在目录中foo和文件bar file txt在目录中bar i e computer ls foo computer ls foo bar foo file txt compu
  • 云优化与云原生

    在尝试更好地理解云原生应用程序时 我遇到了云优化这个术语 有人可以帮助我了解云优化与云原生之间的区别吗 云优化涉及应用程序如何迁移到云或在那里开发和托管 如何通过优化过程来提供更多价值 降低成本 标准化事物 最初 一旦迁移或托管在云中 由于
  • 命令 APDU 在结果中返回 6985(不满足使用条件)

    我正在研究用 Java 读取智能卡 当我执行下面的代码时 卡返回 6985 不满足使用条件 TerminalFactory factory TerminalFactory getDefault List
  • 快速从网络抓取函数返回一个字符串

    好的 我正在抓取网页的一些基本数据 我想将我的代码重构为另一个类 并从我检索到的内容返回一个字符串 但这对于异步函数来说很困难 而且我对 swift 很陌生 我现在意识到这个函数无法返回字符串 但我不太清楚如何配置完成处理程序以及如何使用完
  • 添加新颜色以及自定义主题颜色 angular2 材质

    如何在 Angular 2 材质中添加新颜色 它在 ng2 material 文档中指定 color primary accent warn 被接受 我想添加类似 progressbarcolor 的内容 而不是在我的 angular2 材
  • 包括未找到模块 RubyMotion

    RubyMotion 中允许 mixin 吗 我有一个包含两个文件的目录 一个是类 另一个是模块 当我在类中包含模块 mixin 时 出现未找到错误 RM 中自动需要应用程序下的所有内容 对吗 谢谢你的帮助 找到了 http dylanma
  • Javascript WebWorker - 异步/等待

    我正在尝试卸载阻塞我的用户界面的长时间运行的进程 WebWorker 方法似乎是解决这种情况的最佳方法 但是 我需要使用的库之一具有 async await WebWorker 的 JS API 有限 并且似乎没有 async await
  • 比较 javascript/jquery 中的两种日期格式

    我有以下内容 var fit start time fit start time val 2013 09 5 var fit end time fit end time val 2013 09 10 if Date parse fit st
  • 如何解析rabbitmq状态输出?

    我在 Linux 上安装了 RabbitMQ 它是一个很棒的软件 当我运行这个命令时 sudo rabbitmqctl status 我得到一团糟的输出 pid 18665 running applications rabbitmq man
  • 如何通过代码打开 Vaadin ComboBox?

    是否可以开一个Vaadin ComboBox通过代码 我想展示两个相互依赖的组合框 当用户在第一个组合框中选择一个值时 我希望第二个组合框自动打开可能的选择 以便用户可以直接选择一个 而不必自己打开第二个组合框 也许我可以发送一个事件来触发