在垫子抽屉内的垫子选择上按退出键时,垫子抽屉关闭

时间:2019-03-26 05:33:35

标签: angular angular-material

垫子抽屉内有一个垫子选择角度标签。当焦点位于草席选择上并展开时,请按退出键,整个草席抽屉将关闭,但草稿选择的下拉菜单应关闭。

我当时以为我们可以防止转义键的默认行为,但同时也可以防止关闭mat-select并最终阻止mat-drawer。

实际:当仍然扩大Mat-select的范围时,按Escape键将关闭整个Mat-Drawer(侧面导航窗口)。

预期:首先,在按下逃生按钮时,折叠席子应该折叠,然后在按下逃逸按钮时,席子抽屉应关闭。enter image description here

1 个答案:

答案 0 :(得分:0)

下次,请制作您自己的可编辑演示,以便我们进行处理。无论如何,我对您的问题的解决方案是通过按下“退出”键停止事件传播。这是通过绑定keydown事件来完成的。

我已经使用自己的解决方案制作了demo,其中将mat-select放置在mat-drawer中。

但是,请注意,如果要在选择垫选择上的内容后使用转义键,则必须通过点击/单击垫选择外部以使垫选择“散焦”,以使垫-select不再“集中”。

<mat-form-field>
  <mat-label>Cars</mat-label>
  <mat-select (keydown.escape)="$event.stopPropagation()">
    <mat-option  *ngFor="let food of foods" [value]="food.value">
      {{food.viewValue}}
    </mat-option>
  </mat-select>
</mat-form-field>

这将防止在按“选择垫”时将“退出”键关闭抽屉,但在不使用“选择垫”时允许您使用“退出”键关闭垫子抽屉。