📅  最后修改于: 2023-12-03 14:59:07.513000             🧑  作者: Mango
在 Angular Material 中,
在使用
npm install --save @angular/material @angular/cdk @angular/animations
也请确保在你的模块中引入了以下模块:
import {MatMenuModule} from '@angular/material/menu';
import {MatButtonModule} from '@angular/material/button';
<button mat-button [matMenuTriggerFor]="menu">菜单</button>
<mat-menu #menu="matMenu">
<button mat-menu-item>项目 1</button>
<button mat-menu-item>项目 2</button>
<button mat-menu-item>项目 3</button>
</mat-menu>
这个例子中,我们创建了一个按钮,并为其设置了
默认情况下,菜单被创建为下拉菜单。如果你想改变菜单的位置或是样式等属性,你可以通过指定
下面是一些常见的属性示例:
<mat-menu [overlapTrigger]="false" yPosition="below" xPosition="after">
...
</mat-menu>
在这个例子中,我们设置了
你可以通过添加
<mat-menu>
<h3 mat-menu-item>这是一个标题</h3>
<mat-menu-group [disabled]="true">
<button mat-menu-item>项目 1</button>
<button mat-menu-item>项目 2</button>
</mat-menu-group>
<mat-menu-group>
<button mat-menu-item>项目 3</button>
<button mat-menu-item>项目 4</button>
</mat-menu-group>
</mat-menu>
在这个例子中,我们创建了两个菜单分组,它们分别包含了两个按钮。注意,我们可以通过 [disabled] 属性来禁用一个分组的所有子项。
你可以通过在
<mat-menu>
<button mat-menu-item>
选项 1
<mat-icon>arrow_right</mat-icon>
</button>
<mat-menu-item [matMenuTriggerFor]="submenu">
选项 2
<mat-icon>arrow_right</mat-icon>
</mat-menu-item>
<mat-menu #submenu="matMenu" yPosition="above">
<button mat-menu-item>子项 1</button>
<button mat-menu-item>子项 2</button>
</mat-menu>
</mat-menu>
在这个例子中,我们在第一个选项中添加了一个
在我们创建了子菜单之后,我们为其设置了 yPosition="above",使其出现在当前菜单的上方。