我使用 Angular Material 來構建一個表格,該表格應該為表格中的每一行提供一個選單和選單項。該.html檔案是
<!-- action column -->
<ng-container *ngIf="rowActionIcon?.length" [matColumnDef]="rowActionIcon">
<th mat-header-cell *matHeaderCellDef></th>
<td mat-cell class="action-column" *matCellDef="let element" [id]="rowActionIcon" (click)="emitRowAction(element)">
<button mat-button [matMenuTriggerFor]="menu">
<mat-icon>{{rowActionIcon}}</mat-icon>
</button>
<mat-menu #menu="matMenu" *ngFor="let action of menuActions">
<button mat-menu-item>{{action}}</button>
</mat-menu>
</td>
</ng-container>
但是編譯器抱怨說
error TS2339: Property 'menu' does not exist on type 'TableComponent'.
19 <button mat-button [matMenuTriggerFor]="menu">
~~~~
如果我查看選單的檔案,我在示例中看不到此特定屬性的任何宣告: https ://material.angular.io/components/menu/examples
我顯然遺漏了一些東西(Angular 和 Material 的菜鳥),但我認為menu按鈕中參考了標簽中的#menuDOM 元素?<mat-menu>
我在 ts 檔案中沒有 MatMenu 的規范。我需要添加嗎?
uj5u.com熱心網友回復:
我認為您的問題出在 *ngFor 因為您創建了許多選單,試試這個
<ng-container *ngIf="rowActionIcon?.length" [matColumnDef]="rowActionIcon">
<th mat-header-cell *matHeaderCellDef></th>
<td mat-cell class="action-column" *matCellDef="let element" [id]="rowActionIcon" (click)="emitRowAction(element)">
<button mat-button [matMenuTriggerFor]="menu">
<mat-icon>{{rowActionIcon}}</mat-icon>
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item *ngFor="let action of menuActions">{{action}}</button>
</mat-menu>
</td>
</ng-container>
uj5u.com熱心網友回復:
我猜您的問題出在 ngFor 中:
<mat-menu #menu="matMenu" *ngFor="let action of menuActions">
<button mat-menu-item>{{action}}</button>
</mat-menu>
您可以將其替換為:
<mat-menu #menu="matMenu">
<button *ngFor="let action of menuActions" mat-menu-item>{{action}}</button>
</mat-menu>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/532614.html
標籤:有角度的角材料
下一篇:接受錯誤值的HTML輸入模式
