垫子抽屉内有一个垫子选择角度标签。当焦点位于草席选择上并展开时,请按退出键,整个草席抽屉将关闭,但草稿选择的下拉菜单应关闭。
我当时以为我们可以防止转义键的默认行为,但同时也可以防止关闭mat-select并最终阻止mat-drawer。
实际:当仍然扩大Mat-select的范围时,按Escape键将关闭整个Mat-Drawer(侧面导航窗口)。
预期:首先,在按下逃生按钮时,折叠席子应该折叠,然后在按下逃逸按钮时,席子抽屉应关闭。enter image description here
答案 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>
这将防止在按“选择垫”时将“退出”键关闭抽屉,但在不使用“选择垫”时允许您使用“退出”键关闭垫子抽屉。