PrimeNG dataTable:在 p 列内使用 p 复选框会导致错误
PrimeNG dataTable: Using a p-checkbox inside a p-column causes Error
我有这个工作正常的数据表:
<p-dataTable [value]="myObjects" [rows]="10" [paginator]="true" [pageLinks]="3">
<p-column field="name" header="Name"></p-column>
<p-column field="size" header="Size"></p-column>
<p-column field="status" header="Is available ?">
<ng-template let-col let-obj="rowData" pTemplate="body">
<input type="checkbox" [checked]="obj.status" [(ngModel)]="obj.status" />
</ng-template>
</p-column>
</p-dataTable>
现在我想替换 输入类型="checkbox" 为 PrimeNG 复选框:
<p-dataTable [value]="myObjects" [rows]="10" [paginator]="true" [pageLinks]="3">
<p-column field="name" header="Name"></p-column>
<p-column field="size" header="Size"></p-column>
<p-column field="status" header="Is available ?">
<ng-template let-col let-obj="rowData" pTemplate="body">
<p-checkbox [(ngModel)]="obj.status"></p-checkbox>
</ng-template>
</p-column>
</p-dataTable>
这会导致以下错误(在浏览器控制台中)。 为什么?我错过了什么?
core.es5.js:1020 ERROR Error: Uncaught (in promise): TypeError: this.model.indexOf is not a function
TypeError: this.model.indexOf is not a function
at Checkbox.isChecked (http://localhost:4200/vendor.bundle.js:110341:45)
at Checkbox.writeValue (http://localhost:4200/vendor.bundle.js:110362:29)
完整堆栈跟踪here
请使用带二进制选项的复选框
<p-checkbox [(ngModel)]="obj.status" binary="true"></p-checkbox>
使用 p-checkbox 的所有属性
<p-checkbox name="checkbox" value="isAC" label="All Colors" [(ngModel)]="selectedAllColors" [ngModelOptions]="{standalone: true}" id="al" binary="true"></p-checkbox>
更重要的是,不要忘记也包括 [ngModelOptions]="{standalone: true}
。
我有这个工作正常的数据表:
<p-dataTable [value]="myObjects" [rows]="10" [paginator]="true" [pageLinks]="3">
<p-column field="name" header="Name"></p-column>
<p-column field="size" header="Size"></p-column>
<p-column field="status" header="Is available ?">
<ng-template let-col let-obj="rowData" pTemplate="body">
<input type="checkbox" [checked]="obj.status" [(ngModel)]="obj.status" />
</ng-template>
</p-column>
</p-dataTable>
现在我想替换 输入类型="checkbox" 为 PrimeNG 复选框:
<p-dataTable [value]="myObjects" [rows]="10" [paginator]="true" [pageLinks]="3">
<p-column field="name" header="Name"></p-column>
<p-column field="size" header="Size"></p-column>
<p-column field="status" header="Is available ?">
<ng-template let-col let-obj="rowData" pTemplate="body">
<p-checkbox [(ngModel)]="obj.status"></p-checkbox>
</ng-template>
</p-column>
</p-dataTable>
这会导致以下错误(在浏览器控制台中)。 为什么?我错过了什么?
core.es5.js:1020 ERROR Error: Uncaught (in promise): TypeError: this.model.indexOf is not a function
TypeError: this.model.indexOf is not a function
at Checkbox.isChecked (http://localhost:4200/vendor.bundle.js:110341:45)
at Checkbox.writeValue (http://localhost:4200/vendor.bundle.js:110362:29)
完整堆栈跟踪here
请使用带二进制选项的复选框
<p-checkbox [(ngModel)]="obj.status" binary="true"></p-checkbox>
使用 p-checkbox 的所有属性
<p-checkbox name="checkbox" value="isAC" label="All Colors" [(ngModel)]="selectedAllColors" [ngModelOptions]="{standalone: true}" id="al" binary="true"></p-checkbox>
更重要的是,不要忘记也包括 [ngModelOptions]="{standalone: true}
。