双向绑定不起作用于Angular中的复选框

时间:2017-10-30 21:10:30

标签: javascript angular kendo-grid

datagrid绑定到数组。

复选框绑定到名为isSelected

的属性
                        <input class="checkbox binning-checkbox" type="checkbox" [(ngModel)]="dataItem.isSelected" (ngModelChange)="select(dataItem)" >

一切都在数组中

  public selectedData = [];

我正在设置一个限制,不应该选择不超过15,所以我试图取消选中第16项被选中。

    public select(order, element) {
    this.totalChecked++;
    let index = this.selectedData.indexOf(order);
    if (order.isSelected == true && this.selectedData.length < 15 ) { // && this.selectedData.length < 15 && index === -1

        this.selectedData.push(order);
    }
    else if (order.isSelected == false) { //&& index != -1
        this.selectedData.splice(index, 1);
        this.allSelected = false;
        this.totalChecked--;
        this.totalChecked--;
    }
    else if (this.totalChecked > 15) {
        this.limitExceeded = true;
        order.isSelected = false;
        this.totalChecked--;
    }
}

这里

 order.isSelected = false

不会取消选中该复选框。

这是一个像这样绑定的KendoGrid

 <kendo-grid #grid="kendoGrid"  [data]="filteredData" [filter]="state.filter"

1 个答案:

答案 0 :(得分:0)

试试这个兄弟,在你的html元素中添加checked属性:

checked=condition"

示例:

checked="order.isSelected"

将检查条件是否为真,如果为假则未选中