在表格内获取值复选框

时间:2018-12-26 11:28:38

标签: angular typescript

在这种情况下,我有一个包含多列的表和一个列的复选框。

表结构

Table structure

我试图在表格的复选框中放置一些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"}

1 个答案:

答案 0 :(得分:0)

您不需要(nzCheckedChange)="refreshStatus(module.id, role)"。只需在提交上选中role.checked即可过滤数据,然后将过滤后的数据传递给后端。 Reference