angular - 如何在角材料表中使用 ng-If/*ng-If
问题描述
我正在尝试在表<td>
中实现 ng-If,以便根据下面的屏幕截图显示帐户的活动/停用和锁定状态。当我的角度代码编译时,从屏幕截图中可以看出,2 个帐户(红色)被锁定,状态应该显示为 Locked。但是,红色下方的两个帐户没有被锁定,因此锁定的<td>
元素根本不应该显示,只有<td>
活动状态。任何指导将不胜感激。
<td mat-cell *matCellDef="let row" ng-if="row.isLocked === true" [ngClass]="{ 'Locked':row.isLocked == true}"> Locked equals {{row.isLocked}} Active equals {{row.isActive}} </td>
<td mat-cell *matCellDef="let row" ng-if="row.isActive === true" [ngClass]="{ 'Active':row.isActive == true}"> Locked equals {{row.isLocked}} Active equals {{row.isActive}}</td>
解决方案
Locked equals {{row.isLocked}} Active equals {{row.isActive}}
返回Locked equals 0 Active equals true
或Locked equals 1 Active equals false
。因为,isLocked
返回值 0 或 1,所以该属性不是布尔值。因此,您需要检查isLocked
0 或 1 的值;或者您可以将属性类型更改为布尔值。
第一种方式(不改变 isLocked 属性类型)
<td mat-cell *matCellDef="let row">
<p *ngIf="row.isLocked === 1">Content when isLocked is 1</p>
<p *ngIf="row.isActive">Content when isActive is true</p>
</td>
第二种方式(将 isLocked 属性类型更改为布尔值)
<td mat-cell *matCellDef="let row">
<p *ngIf="row.isLocked">Content when isLocked is true</p>
<p *ngIf="row.isActive">Content when isActive is true</p>
</td>
只需遵循格式并应用您的自定义。
推荐阅读
- python - 如何用新字典替换旧字典,python编程
- python - 从多个文本文件中提取 URL 的循环
- c# - C# 中的数字模式程序
- python-3.x - 当 href 包含 javascript:__doPostBack() 时如何通过页码进行分页
- mysql - 如何在运行时从 VB 在 MySql 中创建数据库?
- python - 为什么 numpy.fromstring 读取数字错误?
- umbraco - 是否可以限制 Umbraco CMS 8 中富文本编辑器的高度?
- c# - 如何在 ASP.Net MVC 中托管 MQTTNet websockets 代理?
- reactjs - 在回调中传递 custum 钩子
- python-3.x - 从 postgres 获取数据并根据多个条件替换列的值