我需要使用*ngIf
来更改 Angular Material 列中的显示格式数据。
我写了这段代码:
<span *ngFor="let item of items">
<ng-container [matColumnDef]="item.vlaue">
<span></span>
<th mat-header-cell *matHeaderCellDef> {{ 'POST_LIKE.POST_TITLE'| translate }} </th>
<td mat-cell *matCellDef="let element">
<span *ngIf="item.value === dateTimeOffset">
<span *ngIf="lang=='fa'">{{ element[item.vlaue] | jalali }}</span>
<span *ngIf="lang!='fa'"> {{element[item.vlaue] | date: 'dd/MM/yyyy hh:mm'}} </span>
</span>
<span *ngIf="item.value === string">
{{element[item.vlaue]}}
</span>
</td>
</ng-container>
</span>
这是我的 list :
this.items= [
{ header: 'x', vlaue: 'createdUserFullName', type: 'string' },
{ header: 'y', vlaue: 'postTitle', type: 'string' },
{ header: 'y', vlaue: 'createdOnUtc', type: 'dateTimeOffset' }
]
我需要何时item.value === dateTimeOffset
按此格式显示数据:
<span *ngIf="item.value === dateTimeOffset">
<span *ngIf="lang=='fa'">{{ element[item.vlaue] | jalali }}</span>
<span *ngIf="lang!='fa'"> {{element[item.vlaue] | date: 'dd/MM/yyyy hh:mm'}}</span>
</span>
但它不起作用并以默认格式显示:
<span *ngIf="item.value === string">
{{element[item.vlaue]}}
</span>
有什么问题吗?我该如何解决这个问题?
最佳答案
如果 dateTimeOffset 是字符串,则应使用单引号。尝试一下,它应该可以工作。
*ngIf="item.value === 'dateTimeOffset'"
或者
<span *ngIf="item.value === 'string'">
{{element[item.vlaue]}}
</span>
关于javascript - 在 angularMaterialTable 中使用 *ngIf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58639525/