【问题标题】:Autofocus on input elements inside a tab-group自动对焦于选项卡组内的输入元素
【发布时间】:2018-04-30 08:28:43
【问题描述】:

有没有办法在 mat-tab-group 内的 mat-tab 元素内的输入元素上设置自动对焦? 当前行为是将焦点设置为第一个选项卡的标签。

我尝试编写一个指令,将延迟焦点设置在元素上,但这只有在超时时间足够高 > 500 毫秒时才有效,但这似乎不是一个好的选择。

有没有办法防止 mat-tab-groups 抓住焦点?我相信这与可访问性有关,但就我而言,这非常无益。

【问题讨论】:

    标签: angular angular-material


    【解决方案1】:

    如果您使用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
    }
    

    【讨论】:

    • 不幸的是,这并没有成功。它甚至会引发错误,因为焦点函数中的元素似乎未定义:- \
    • 我没有仔细看代码。事件对象将是一个 MatTabChangeEvent 对象 - 您需要的任何其他内容都必须自己解决。
    猜你喜欢
    • 2017-06-11
    • 2022-01-13
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多