rowData
にプロパティを追加する必要があります(editable
など)。 は次に、このようなあなたのコードをレイアウト:すべての選択部分について
<tbody>
<tr *ngFor='let row of rowData' [ngClass]="{ 'selected': row.selected }">
<td class="text-center>
<input type="checkbox" [(ngModel)]="row.selected" />
</td>
<td>
<input type="text" *ngIf="row.editable" [(ngModel)]="row.name" />
<ng-container *ngIf="!row.editable">{{row.name}}</ng-container>
<!-- You can use span or whatever instead of ng-container-->
</td>
<!-- Repeat for other cells -->
</tr>
</tbody>
、私はあなたがthead要素のチェックボックスを持っていると仮定します。これは、このコードを持っている必要があります:
コンポーネントで次に
<td><input type="checkbox" (change)="selectAll($event)" /></td>
:
selectAll(event) {
if (event.target.checked) {
this.rowData = this.rowData.map((row) => {
row.selected = true;
return row;
});
} else {
this.rowData = this.rowData.map((row) => {
row.selected = false;
return row;
});
}
}
その後、選択したすべての行を取り、それらを編集可能にテーブルの上の編集ボタンを持っている必要があります。
makeEditable() {
this.rowData = this.rowData.map((row) => {
if (row.selected) { row.editable = true; }
else { row.editable = false; }
return row;
});
}
これを編集ボタンクリックで呼び出します。
これはselect allでは機能しません。すべての行を選択するためのチェックボックスがあります。 – user1999324
@ user1999324編集の切り替えを有効または無効にするためのボタンを追加する必要があります。これは選択とは関係ありません。 – Matsura
私は既にそのためのチェックボックスを持っていますが、反映していません。 – user1999324