gpt4 book ai didi

Angular trackBy 不适用于嵌套 *ngFor

转载 作者:行者123 更新时间:2023-12-02 15:40:14 30 4
gpt4 key购买 nike

我的组件有点像

<div class="users-list" *ngIf="datasetPermission !== undefined">
<div *ngFor="let userpermission of datasetPermission; trackBy : trackByFn">
<span *ngFor="let user of userpermission.users">
<span *ngIf="user">
<span class="shared-user"><span>{{user.emailId}}</span><span ><span class="close icon-key" style=" padding: 0;" (click)="viewPermission($event,userpermission.permissionType,user)"></span><span class="close" style=" padding: 0;" (click)="removeUser(user)">×</span></span></span>
</span>
</span>
</div>
</div>

trackBy 函数为

    public trackByFn(index, userpermission) {
console.log(userpermission.permissionType);
return userpermission.permissionType;
}

内部权限我有一组分配给此权限的用户。我可以从 x <> y 权限集更新用户。当我更新 datasetPermission 数组或向其中添加新元素时,它正在更新正在更新/添加的数据集的顺序。

我浏览了各种帖子,但尚未找到有用的内容。我在这里做错了什么吗?任何帮助将不胜感激。

最佳答案

trackByFn 的实现错误。

trackBy function 始终接受两个参数 index 和当前 item 并且函数必须返回唯一标识符。

所以你的函数应该是这样的 -

public trackByFn(index, userpermission) {
return userpermission.id; //check what unique property you have in permission class.
}

关于Angular trackBy 不适用于嵌套 *ngFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52832709/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com