在这种情况下,我有一个包含多列的表和一个列的复选框。
表结构
我试图在表格的复选框中放置一些formControlName。但控制台提示错误no value accessor for form control
<nz-table #filterTable [nzLoading]="loading" nzTitle="Assign a new role to the group" nzBordered>
<thead nzSingleSort>
<thead>
<tr>
<th nzShowSort nzSortKey="module">Module</th>
<th></th>
<th nzShowFilter [nzFilters]="filterrole" (nzFilterChange)="updateFilter($event)">Role</th>
<th style="min-width: 120px;">Action</th>
</tr>
</thead>
<tbody>
<ng-container *ngFor="let module of listofmodules">
<tr *ngFor="let role of module.role">
<td>{{module.module}}</td>
<td nzShowCheckbox [(nzChecked)]="role.checked" (nzCheckedChange)="refreshStatus(module.id, role)" name='tableCheck'
id='tableCheck'>
</td>
<td>{{role}}</td>
<td><a>View</a></td>
</tr>
</ng-container>
</tbody>
</nz-table>
有一个按钮可以将值提交到后端。在“提交按钮(单击)”功能中,我正在使用const formObj = this.validateForm.getRawValue();
并使用JSON.stringify
将其转换为JSON格式。
我希望获得表中复选框的值。我该如何实现?
预期结果
{"moduleid": "testing group 1", "roleheck":"Supervisor"}
答案 0 :(得分:0)
您不需要(nzCheckedChange)="refreshStatus(module.id, role)"
。只需在提交上选中role.checked
即可过滤数据,然后将过滤后的数据传递给后端。 Reference