【发布时间】:2018-04-30 08:28:43
【问题描述】:
有没有办法在 mat-tab-group 内的 mat-tab 元素内的输入元素上设置自动对焦? 当前行为是将焦点设置为第一个选项卡的标签。
我尝试编写一个指令,将延迟焦点设置在元素上,但这只有在超时时间足够高 > 500 毫秒时才有效,但这似乎不是一个好的选择。
有没有办法防止 mat-tab-groups 抓住焦点?我相信这与可访问性有关,但就我而言,这非常无益。
【问题讨论】:
有没有办法在 mat-tab-group 内的 mat-tab 元素内的输入元素上设置自动对焦? 当前行为是将焦点设置为第一个选项卡的标签。
我尝试编写一个指令,将延迟焦点设置在元素上,但这只有在超时时间足够高 > 500 毫秒时才有效,但这似乎不是一个好的选择。
有没有办法防止 mat-tab-groups 抓住焦点?我相信这与可访问性有关,但就我而言,这非常无益。
【问题讨论】:
如果您使用selectedTabChange 事件,它应该可以正常工作:
<mat-tab-group (selectedTabChange)="focus($event)">
<mat-tab label="Tab 1">Content 1</mat-tab>
<mat-tab label="Tab 2">
<mat-form-field>
<mat-label>Content 2</mat-label>
<input matInput #input>
</mat-form-field>
</mat-tab>
</mat-tab-group>
focus(event: MatTabChangeEvent) {
// your code here
}
【讨论】: