[英]Hide/show individual items inside ngFor in angular 2
我想在单击跨度(活动)时隐藏一个跨度并显示下拉列表,然后在选择特定值后隐藏该下拉列表并针对每个跨度再次在表的单元格中显示跨度。 如何实现呢?
<table class="table">
<tbody>
<tr *ngFor="let user of data | paginate: config; let i">
<td class="row">
<a [routerLink]="['/user-edit', user.Id]" style="text-transform: capitalize;">{{user.FirstName}} {{user.LastName}}</a><br />
{{user.Email}}<br />
<i class="fa fa-user"></i> Developer
</td>
<td style="width:15px;" *ngIf="user.IsActive==false"><br /><br /><b>Blocked</b></td>
<td *ngIf="user.IsActive==true">
<div class="inline-edit">
<span [hidden]="!isDisplay" (click)="beginEdit(editText,i)">
Active
</span>
<span>
<ng-select [items]="items"
(selected)="selected($event,i)">
</ng-select>
</span>
</div>
</td>
</tr>
</tbody>
</table>
您使用了标志变量isDisplay,每个循环都相同。 向用户添加一些ID,以区分每个循环的标志。 我不确定beginEdit会做什么,也许您也需要更改它
<table class="table">
<tbody>
<tr *ngFor="let user of data | paginate: config; let i">
<td class="row">
<a [routerLink]="['/user-edit', user.Id]" style="text-transform: capitalize;">{{user.FirstName}} {{user.LastName}}</a><br />
{{user.Email}}<br />
<i class="fa fa-user"></i> Developer
</td>
<td style="width:15px;" *ngIf="user.IsActive==false"><br /><br /><b>Blocked</b></td>
<td *ngIf="user.IsActive==true">
<div class="inline-edit">
<span [hidden]="!isDisplay[user.id]" (click)="beginEdit(editText,i)">
Active
</span>
<span>
<ng-select [items]="items"
(selected)="selected($event,i)">
</ng-select>
</span>
</div>
</td>
</tr>
</tbody>
</table>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.