【发布时间】:2017-06-30 09:02:34
【问题描述】:
我在单个元素中使用 ngFor 和 ngIf,但后来尝试使用 ngContainer。
我试图在按钮单击时隐藏一行(如果状态发生变化)
<tbody>
<ng-container *ngFor="let d of pendingData">
<tr *ngIf="d.status !== 'Issued'">
<td>{{ d.orderno }} </td>
<td>{{ d.item }} </td>
<td> {{ d.emp }} </td>
<td>{{ d.employee_name }}</td>
<td>{{ d.item_name }}</td>
<td>{{ d.item_qty }}</td>
<td>{{ d.item_price }}</td>
<td>{{ d.status }}</td>
<td><button (click)="onClick()">Issue</button></td>
</tr>
</ng-container>
</tbody>
这里我不能在第一行使用 ngIf 来检查状态条件,因为状态在 ngFor 中被覆盖,它将是未定义的!
我如何先测试条件,然后在上面的场景中循环。
【问题讨论】:
-
我不明白你的问题,你能详细说明一下吗?
-
当状态从待定变为已发布(点击按钮),同样简单,我需要隐藏状态改变的行
-
您的代码应该可以工作,您只需在(点击)函数中将 d 作为参数传递
-
根据 scnearios 代码似乎很好,并且在日志中它显示状态已更改:“状态正在等待更改状态已发布”,但问题是行没有被隐藏