想知道如何在 ngmodel 中为动态复选框设置二维数组?
我有一个带有多个复选框的超级管理员的角色和权限设置表单。 如何区分模型名称与角色 ID 和权限 ID。我需要通过数组中的模型名称传递角色 ID 和权限 ID。
例如:[(ngModel)]="permission[role.id][per.id]"
有没有办法在表单中为 ngmodel 分配 2d 值?
期待早日回复。
提前致谢。
由于ngModel是获取 2 路绑定系统的指令。
您可以轻松地执行以下语法:
[(ngModel)]="permission[role.id][per.id]"
其中权限是一个空数组,最初定义为:
permission = []
或者
permission = [[]]
您的权限变量将是一个多维数组。
在此之后,如果您尝试使用 ngModel
[(ngModel)]="permission[role.id][per.id]"
这将导致一个未定义的问题,因为 ngModel 不仅从它必须显示的输入中获取值,这也是 2 路绑定的工作方式。
为了避免由于未定义而在渲染时出现问题,我们必须最初将虚拟数据分配给权限数组。
this.permission = new Array(this.numberOfRoles).fill(0);
for (let j = 0; j < this.numberOfRoles; j++) {
this.permission[j] = new Array(this.numberOfPermission).fill(0);
}
这解决了未定义的问题,如下所示