Angular对话框框键盘可访问性,但未将焦点初始化在对话框框。
创始人
2024-10-24 15:31:31
0

在Angular中,要实现对话框的初始键盘焦点,可以使用Angular Material Dialog模块提供的选项。

首先,在打开对话框时,需要将焦点设置在要让用户聚焦的元素上,可以使用@ViewChild装饰器来获取模板中的DOM元素。

例如,在模板中添加一个按钮作为焦点元素:


  

然后在组件代码中获取该按钮元素,将焦点设置在它上面:

import { Component, ElementRef, ViewChild, AfterViewInit } from '@angular/core';
import { MatDialogRef } from '@angular/material/dialog';

@Component({
  selector: 'dialog-example',
  templateUrl: 'dialog-example.html',
})
export class DialogExampleComponent implements AfterViewInit {
  @ViewChild('focusEl', { static: false }) focusEl: ElementRef;

  constructor(
    public dialogRef: MatDialogRef) {}

  ngAfterViewInit(): void {
    this.focusEl.nativeElement.focus();
  }
}

在这个示例中,使用了Angular Material对话框模块提供的MatDialogRef API来处理对话框的行为。

最后,当打开该对话框时,可以设置对话框选项,以便让对话框跳过其它可聚焦元素,直接将焦点设置在按钮元素上:

import { Component } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { DialogExampleComponent } from './dialog-example.component';

@Component({
  selector: 'app-root',
  template: '',
})
export class AppComponent {
  constructor(private dialog: MatDialog) {}

  openDialog(): void {
    const dialogRef = this.dialog.open(DialogExampleComponent, {
      autoFocus: false,
    });

    dialogRef.afterClosed().subscribe(() => {

相关内容

热门资讯

第2分钟大纲!桂林字牌科技免费... 第2分钟大纲!桂林字牌科技免费版(外挂)原来存在有辅助工具(哔哩哔哩)暗藏猫腻,小编详细说明桂林字牌...
第一分钟法子!四川微乐小程序辅... 第一分钟法子!四川微乐小程序辅助器(外挂)切实一直都是有辅助app(哔哩哔哩)1、完成四川微乐小程序...
第三分钟学习!小程序中至赣牌圈... 第三分钟学习!小程序中至赣牌圈黑科技(外挂)本来真的是有辅助app(哔哩哔哩)1、小程序中至赣牌圈黑...
十分钟机巧!吉祥填大坑的破解方... 十分钟机巧!吉祥填大坑的破解方法(外挂)一贯一直都是有辅助软件(哔哩哔哩)1)吉祥填大坑的破解方法免...
第四分钟绝活!摸一把游戏辅助软... 第四分钟绝活!摸一把游戏辅助软件(外挂)一直一直总是有辅助方法(哔哩哔哩)1、第四分钟绝活!摸一把游...
第1分钟秘籍!游戏辅助制作器(... 第1分钟秘籍!游戏辅助制作器(外挂)真是一直都是有辅助app(哔哩哔哩)1)游戏辅助制作器免费钻石:...
第九分钟项目!网易亲友圈辅助(... 第九分钟项目!网易亲友圈辅助(外挂)原来一直都是有辅助脚本(哔哩哔哩)网易亲友圈辅助能透视中分为三种...
第6分钟资料!鱼虾蟹控制器辅助... 第6分钟资料!鱼虾蟹控制器辅助器开挂(外挂)果然存在有辅助方法(哔哩哔哩)1、上手简单,内置详细流程...
6分钟手册!好友赣南新版本挂(... 6分钟手册!好友赣南新版本挂(外挂)其实有辅助神器(哔哩哔哩)1、下载好好友赣南新版本挂正确养号方法...
第二分钟机巧!对战互娱有辅助吗... 第二分钟机巧!对战互娱有辅助吗(外挂)一贯一直总是有辅助技巧(哔哩哔哩)1、对战互娱有辅助吗免费脚本...