我正在使用带有本地复选框和ngModel的primeng可编辑表。
<p-table id="resultTable" [columns]="cols" [value]="results" [rowTrackBy]="trackByFunction"
scrollable="true" selectionMode="single" [selection]="selected" (onRowSelect)="onRowSelect($event.data)">
...
<ng-template pTemplate="body" let-rowData let-rowIndex="rowIndex">
<tr [pSelectableRow]="rowData">
...
<td>
<div class="text-center">
<input type="checkbox" [(ngModel)]="rowData.active">
</div>
</td>
...
</tr>
</ng-template>
...
</p-table>
以某种方式,[[ngModel)]不起作用,我只能获得rowData.active
的值,但是当我单击复选框时,事件绑定不起作用,该值在之后没有改变点击。
有人知道为什么吗?
答案 0 :(得分:0)
请使用change
事件尝试这种方式
<input type="checkbox" [(ngModel)]="isChecked" (change)="checkValue(isChecked?'A':'B')" />
checkValue(event: any){
console.log(event);
}
这是一个代码 link
答案 1 :(得分:0)
[(ngModel)]在多种情况下不是很稳定。有时它会立即起作用,有时需要一些时间。正确的方法是将[(ngModel)]与(ngModelChange)一起使用
<input type="checkbox" [(ngModel)]="rowData.active" (ngModelChange)="fun(rowData)">
应注意:
如果(ngModelChange)在[(ngModel)]前面,它将获得更改前的值,否则将获得更改后的值