datagridが配列にバインドされています。角型のチェックボックスで双方向結合が機能しない
チェックボックスが
<input class="checkbox binning-checkbox" type="checkbox" [(ngModel)]="dataItem.isSelected" (ngModelChange)="select(dataItem)" >
すべてisSelectedと呼ばれるプロパティにバインドされているが、アレイに行く私はせいぜい15は私がしようとしていますので、選択しなければならない限界値を設定しようとしています
public selectedData = [];
チェックを外すと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は、この仲間を試してみてください、あなたのhtml要素にcheckedプロパティを追加し、この<kendo-grid #grid="kendoGrid" [data]="filteredData" [filter]="state.filter"
私は、パラメータ 'order'はthis.selectedData [index]と同じではないかもしれないと思います。その上でisSelectedを設定しようとします。 – Perrier
チェックボックスがクリックされたとき、 'order'がまだ配列内にない16回目。だから私はそれをfalseに設定することはできません。 「select」関数で受け取ったオブジェクトは、その時点でisSelected = trueで、そのときは –