如何解决PrimeNG 复选框 ngModel 与对象
我想实现下图所示的功能,我想用ngFor
环境:
Angular@11.0.5
primeng@11.0.0
html 代码:
<p-table [columns]="cols" [value]="layers">
<ng-template pTemplate="body" let-layer let-columns="columns">
<tr>
<ng-container *ngFor="let col of columns">
<td *ngIf="col.field == 'name'">
<span>{{layer.name}}</span>
</td>
<td *ngIf="col.field != 'name'" style="text-align:center">
<p-checkBox [name]="col.field" [(ngModel)]="layer[col.field]"></p-checkBox>
<!-- <input type="checkBox" name="" value="" [(ngModel)]="layer[col.field]"> -->
</td>
</ng-container>
</tr>
</ng-template>
</p-table>
ts 代码:
cols = [
{label:'name',field:'name'},{label:'a',field:'a'},{label:'b',field:'b'},{label:'c',field:'c'},{label:'d',field:'d'},]
layers = [
{
name:'x1',id:'1'
a:true,b:true,c:false,d:false
},{
name:'x2',id:'2'
a:false,d:true
},{...}
]
错误:
ERROR Error: Uncaught (in promise): TypeError:
this.model.indexOf is not a function
当我不使用primeNG的复选框时,只需使用<input type="checkBox" name="" value="" [(ngModel)]="layer[col.field]">
,它运行良好。
我该如何解决?请!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。