Angular 角材质表内的按钮不工作
我有以下角度材质表设置:Angular 角材质表内的按钮不工作,angular,angular-material,angular-material-table,Angular,Angular Material,Angular Material Table,我有以下角度材质表设置: <table mat-table [dataSource]="getItems()"> <ng-container matColumnDef="delete"> <th mat-header-cell *matHeaderCellDef></th> <td mat-cell *matCellDef="let tariff"> <but
<table mat-table [dataSource]="getItems()">
<ng-container matColumnDef="delete">
<th mat-header-cell *matHeaderCellDef></th>
<td mat-cell *matCellDef="let tariff">
<button type="button" mat-button color="primary" (click)="test()">Delete</button>
</td>
</ng-container>
...
<tr mat-header-row *matHeaderRowDef="dColumns"></tr>
<tr mat-row *matRowDef="let row; columns: dColumns"></tr>
</table>
test() {
console.log('test');
}
删除
...
测试(){
console.log('test');
}
如果单击delete按钮,则不会调用test()方法。如果我删除“mat button”指令,按钮会突然工作
我在表单上有其他材质设计按钮,因此它不是模块导入问题
这里发生了什么
StackBlitz显示问题:在mat表中,您可以使用如下按钮
<button
mat-icon-button
color="accent"
(click)="delete(row.id)"
>
<mat-icon aria-label="delete" class="md-20"
>delete</mat-icon
>
</button>
删除
将[dataSource]
更改为数组而不是函数可以解决问题
这可能是由于不恰当地使用垫子桌而导致的奇怪行为
角度材质表要求[dataSource]
是一个数组,或者对于更复杂的应用程序,是一个dataSource实例
我过去也有类似的问题。
*ngFor
中的按钮对我来说不像您的示例中那样有效
不起作用的示例中,按钮的行为与您的类似:
这就是问题解决的时候:
也许这会有帮助: