Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 材料复选框不适用于其';选中';派生词_Angular_Typescript_Angular Material - Fatal编程技术网

Angular 材料复选框不适用于其';选中';派生词

Angular 材料复选框不适用于其';选中';派生词,angular,typescript,angular-material,Angular,Typescript,Angular Material,我有一个记录表,其中每列的第一个单元格都有一个复选框。单击复选框时,我将该记录的id存储到typescript中的数组中: onCheckboxClick(id) { if (this.selectedInvoiceables.indexOf(id) > -1) { this.selectedInvoiceables.splice(id, 1); } else { this.selectedInvoiceables.push(id); } if (this.

我有一个记录表,其中每列的第一个单元格都有一个复选框。单击复选框时,我将该记录的id存储到typescript中的数组中:

onCheckboxClick(id) {
  if (this.selectedInvoiceables.indexOf(id) > -1) {
    this.selectedInvoiceables.splice(id, 1);
  } else {
    this.selectedInvoiceables.push(id);
  }
  if (this.selectedInvoiceables.length > 1) {
    this.disableBulkEdit = false;
  } else {
    this.disableBulkEdit = true;
  }
}
下面是复选框:

<mat-checkbox
   class="checkbox"
   (change)="onCheckboxClick(invoice.id)"
   id = "invoiceCheckbox{{invoice.id}}"
   [checked]="selectedInvoiceables.indexOf(invoice.id) > -1"
> </mat-checkbox>


因此,每当单击复选框时,我们都会存储id。这很好,但是,似乎存在一个问题,即单击一个复选框将取消选择另一个复选框,即使该值仍然包含在my
SelectedVoiceables
数组中。我当前对
[checked]
衍生工具的检查是否不够好或不定期刷新?

您可以尝试使用
[(ngModel)]=''
语法将复选框的模型/状态绑定到以下值:


您可以尝试使用
[(ngModel)]=“
语法将复选框的模型/状态绑定到以下值:


调用
.splice()
时,第一个参数应该是数组元素的索引,而不是元素本身。传递
.indexOf()
@DarthJDG的结果谢谢,我会给你那张有效的照片谢谢!调用
.splice()
时,第一个参数应该是数组元素的索引,而不是元素本身。传递
.indexOf()
@DarthJDG的结果谢谢,我会给你那张有效的照片谢谢!您是否建议使用
[(ngModel)]=“selectedInvoiceables.indexOf(invoice.id)>-1”
?我在评论中使用了达斯的解决方案,但这也满足了我的需要,因此我批准它以获得正确答案。您是否建议使用
[(ngModel)]=“selectedInvoiceables.indexOf(invoice.id)>-1”
?我在评论中使用了达斯的解决方案,但这也满足了我的需要,因此我批准它的正确答案。