如何移除mat-datepicker-toggle的焦点,实现Tab导航至输入框?
解决mat-datepicker Tab导航直接定位输入框的问题
要让Tab键跳过mat-datepicker-toggle切换按钮,直接聚焦到日期输入框,最直接的方案是给切换按钮设置tabindex="-1",这样它就会被Tab导航忽略:
- 静态设置方式:
<mat-datepicker-toggle matSuffix [for]="picker" tabindex="-1"></mat-datepicker-toggle> <input matInput [matDatepicker]="picker" placeholder="选择日期">
- 动态控制方式(如需根据条件切换是否允许焦点):
在组件类中定义控制变量:
disableToggleTabFocus = true; // 设为true时禁用切换按钮的Tab焦点
模板中绑定属性:
<mat-datepicker-toggle matSuffix [for]="picker" [tabindex]="disableToggleTabFocus ? -1 : 0"></mat-datepicker-toggle> <input matInput [matDatepicker]="picker" placeholder="选择日期">
这个方法的好处是:切换按钮仍然可以通过鼠标点击正常触发日期选择器,只是Tab导航会直接跳过它,聚焦到输入框,完全匹配需求。
内容的提问来源于stack exchange,提问作者Rodrigo Leonardo da Silva
相关产品推荐
相关产品推荐

