在这里张贴这篇文章是为了省go 别人的头疼.

未设置初始值时,Angular 会自动聚焦于第一个可用选项.这可能会让用户感到困惑,因为它显示了对第一个选项的关注以及悬停的聚焦选项(同时有两个聚焦选项).在网上搜索后,对于这一困境,有一大堆臃肿而无法获取的答案.

推荐答案

我发现,通过添加一个带有style="Display:Hidden"的隐藏选项并将其设置为Mat Select的缺省值,您可以在鼠标悬停时显示焦点并保持键盘焦点/控件.

现在,所有选项最初都处于未选中状态,并且只会将焦点放在悬停的选项上.如果用户使用Tab键或使用键盘控件,焦点将保留在Mat Select中,并且可以通过键盘进行访问.

希望这对有同样问题的人有所帮助!

//HTMl
      <mat-form-field>
        <mat-label>Select</mat-label>
        <mat-select #mySelect value="initialSelection">
          <mat-option value ="empty" style="display: none;"></mat-option>
          <mat-option *ngFor="let selection of selections" [value]="selection.selectionId"> 
            {{ selection.selectionId }}
          </mat-option>
        </mat-select>
      </mat-form-field>

//TS

  public initialSelection = 'empty';

Angular相关问答推荐

导入浏览器模块时出错已导入commonModule的insted,animationBrower也显示错误,当p打开时

Angular 17上的material 工具提示的自定义样式

Angular Signal只指一种类型,但这里用作值.ts(2693)''

运行容器后,Docker容器立即退出

如何在Angular 17 SSR中处理Swiper 11 Web组件事件

茉莉花-模板中调用了如何判断角管

NGX- colored颜色 Select 器安装出错

截获火灾前调用公共接口

Angular react 形式验证问题

元素上的Angular 管道链接不起作用

对Angular 为17的路径使用AuthGuard

将数组传递给 URLSearchParams,同时使用 http 调用获取请求

如何从表单组中禁用的表单控件中获取值?

Angular/RxJS 6:如何防止重复的 HTTP 请求?

在同一个组件中使用 MatSort 的多个 mat-table

如何在 Angular 2 中创建可重用的动画

将 Angular 5 升级到 6 时,我得到不兼容的对等依赖(使用 ng update @angular/core)

Angular 2 可用的 yeoman 生成器

如何在 Angular cli 项目中包含来自 node_modules 的assets

Angular 9 引入了需要加载的全局$localize()函数