问题描述
我有一个带输入字段的有角度的材料表。需要计算总数(无按钮)并显示在底部。也当改变输入数字时,应重新计算并显示。它计算并显示 ts 文件中内容的总和,但当输入框中发生变化时, concatenate 。 HTML代码
<ng-container matColumnDef="tuesday">
<th mat-header-cell *matHeaderCellDef> tuesday </th>
<td mat-cell *matCellDef="let transaction">
<mat-form-field>
<input [(ngModel)]="transaction.tuesday" placeholder="Field Name" matInput ="number"/>
</td>
<td mat-footer-cell *matFooterCellDef> {{getTotalCostTuesday() | currency}} </td>
</ng-container>
TS code
transactions: PeriodicElement[] = [
{ project: 'Hydrogen',monday:1,tuesday:2},{ project: 'Helium',tuesday: 5 },{ project: 'Lithium',tuesday: 3},{ project: 'Beryllium',tuesday: 4 },];
getTotalCostTuesday() {
return this.transactions.map(t => t.tuesday
).reduce((acc,value) => acc + value,0);
}
解决方法
这种连接是由于 value
(来自输入字段)是一个字符串。在添加之前将其更改为数字。
getTotalCostTuesday() {
return this.transactions.map(t => t.tuesday
).reduce((acc,value) => acc + parseInt(value),0);
}