Vaadin Flow: 如何为DatePicker设置setAutoselect(true)实现获焦自动选中文本
Vaadin Flow 选择器组件焦点自动选中文本解决方案
- Vaadin 14及以上版本的所有带输入框的选择器组件(包括ComboBox、DatePicker、TimePicker、ComboBoxPicker等)均原生实现了
HasAutoselect接口,不需要手动获取底层文本框元素,直接调用对应方法即可生效。 - 调用方式和普通文本框完全一致,直接对选择器组件执行
setAutoselect(true)即可,示例代码如下:
// 下拉选择器设置自动选中 ComboBox<String> statusSelector = new ComboBox<>("状态"); statusSelector.setAutoselect(true); // 日期选择器设置自动选中 DatePicker publishDate = new DatePicker("发布日期"); publishDate.setAutoselect(true);
- 如果使用的是低版本Vaadin或者自定义封装的选择器组件,可以通过执行前端JS实现相同效果,代码如下:
// selector替换为实际的选择器组件实例 selector.getElement().executeJs( "this.inputElement.addEventListener('focus', function() { this.inputElement.select(); })" );
- 配置完成后,通过Tab键切换到选择器组件时,输入框内的已有内容会自动全选,和普通文本框、多行文本框的交互行为完全统一。
内容的提问来源于stack exchange,提问作者Hons
相关产品推荐
相关产品推荐

