角度材料将表行数据传递到菜单项



我需要将数据从表行元素传递到菜单,但它只发送undefined数据。 我像这样使用matMenuTriggerData

<ng-container matColumnDef="execute">
<th mat-header-cell fxFlex="8%" fxLayoutAlign="start center" *matHeaderCellDef></th>
<td mat-cell fxFlex="8%" fxLayoutAlign="start center" *matCellDef="let element">
<button mat-icon-button [matMenuTriggerFor]="menu" [matMenuTriggerData]="element">
<i class="material-icons" style="color: #368852">cloud_download</i>
</button>
</td>
</ng-container>

和菜单:

<mat-menu #menu="matMenu">
<ng-template matMenuContent let-aliasMenuItems="element">
<button mat-menu-item (click)="cl(aliasMenuItems)">
<mat-icon>dialpad</mat-icon>
<span>Redial</span>
</button>
....
</mat-menu>

如果你想在斯塔克闪电战中看到

你应该传递这样的数据[matMenuTriggerData]="{element: element}",如果你想要所有的物品。因为当你 访问像let-aliasMenuItems="element"这样的变量,你是 尝试访问变量的值而不是变量

如果你想访问变量的值,这是priorityIndex那么你可以做这样的事情

[matMenuTriggerData]="element"

let-aliasMenuItems="priorityIndex"

工作堆栈闪电战示例

在内容中

<ng-container matColumnDef="execute">
<th mat-header-cell fxFlex="8%" fxLayoutAlign="start center" *matHeaderCellDef></th>
<td mat-cell fxFlex="8%" fxLayoutAlign="start center" *matCellDef="let element">
<button mat-icon-button [matMenuTriggerFor]="menu" [matMenuTriggerData]="{element: element}">
<i class="material-icons" style="color: #368852">cloud_download</i>
</button>
</td>
</ng-container>

和菜单:

<mat-menu #menu="matMenu">
<ng-template matMenuContent let-aliasMenuItems="element">
<button mat-menu-item (click)="cl(aliasMenuItems)">
<mat-icon>dialpad</mat-icon>
<span>Redial</span>
</button>
....
</mat-menu>

最新更新