材料复选框不使用其“已检查”衍生产品

时间:2018-04-12 14:14:48

标签: 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.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。然而,工作正常,似乎存在一个问题,即单击一个复选框将取消选择另一个复选框,即使该值仍包含在我的selectedInvoiceables数组中。我目前检查[checked]衍生物是否不够好或不定期刷新?

1 个答案:

答案 0 :(得分:2)

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