【发布时间】:2020-08-08 22:06:57
【问题描述】:
我正在使用 Angular 和 Angular Material 进行开发,我是新手(在 8 atm 上),并且通常设法找到我的大多数问题的答案,但找不到这个问题的答案。
我有一个交易的主细节垫表,主垫表具有来自细节行的“总”金额。我现在正在尝试做的,但找不到答案,是让另一个“状态”列显示文本,具体取决于正\负“总”值。
这是我的主从 json。
[
{
"id": "50891",
"description": "February 2020",
"detail": [
{
"Id": 88708,
"PaymentDate": "2020-02-24",
"Amount": -58.0,
"Method": "Charge",
"Type": "Charge"
},
{
"Id": 88709,
"PaymentDate": "2020-03-02",
"Amount": -58.0,
"Method": "Charge",
"Type": "Charge"
}
]
}
]
这是我的 mat-cell 列。 'total' 列正在调用一个函数来计算总 'amount' 值。
<ng-container matColumnDef="status">
<mat-header-cell *matHeaderCellDef> Status </mat-header-cell>
<mat-cell *matCellDef="let row"> {{ ?? }} </mat-cell>
</ng-container>
<ng-container matColumnDef="total">
<mat-header-cell *matHeaderCellDef> Total </mat-header-cell>
<mat-cell *matCellDef="let row"> {{ total(row) | currency: 'GBP' }} </mat-cell>
</ng-container>
这是 ts 文件中进行计算的函数。
total(model: any) {
return model.details.map(t => t.amount).reduce((acc, value) => acc + value, 0);
}
所以,我现在要做的是根据计算的“总计”列在“状态”列中设置“借方”或“贷方”文本值。我搜索和搜索,但无法找到答案或弄清楚。有谁知道我可以做到这一点的方法吗?
非常感谢
【问题讨论】:
-
我没听懂你的意思,你能不能创建一个实时的 stackblitz 示例并在此处分享链接,以便开发人员获得并帮助你实现你想要的目标
-
这里是 stackblitz 示例stackblitz.com/edit/angular-material-starter-x98nar 我需要在月级别求和但在编辑\删除时重新计算的详细金额,因此不能仅在加载 json 数据时执行此操作。然后根据总和值,我想要一个信用\借记状态,这就是我需要一些帮助的地方。谢谢
标签: angular angular-material mat-table