У меня есть ngx-datatable.Есть много столбцов.Один столбец - userAcceptanceStatus, который берется непосредственно из результата вызова службы.Следующий столбец представляет собой поле параметров со значением по умолчанию, которое устанавливается на основе значения userAcceptanceStatus.После выбора варианта в окне параметров пользователь может нажать кнопку отмены или подтверждения.Кнопка подтверждения выполняет действие и перезагружает таблицу данных.
Кнопка отмены сбрасывает в окне параметров значение по умолчанию.На данный момент я обновляю весь набор данных, чтобы он переоценил * ngIf и сбросил поля параметров до значения по умолчанию (на основе значения userAcceptanceStatus).Я хотел бы, чтобы ngx-datatable просто переоценивал ngIf в столбце действия, а не полностью обновлял таблицу.Возможно ли это?
<ngx-datatable-column prop="UserAcceptanceStatus" name="Status">
<ng-template let-rowIndex="rowIndex" let-value="value" let-row="row" ngx-datatable-cell-template>
<span class="values"> {{value}}</span>
</ng-template>
</ngx-datatable-column>
<mat-select *ngIf="row.UserAcceptanceStatus=='Pending'" (selectionChange)="addPendingChange(row.JobId, $event.value, ($event.value==='Pending'));" id="selector" [value]="value" class="option" required>
<div id="selectlist">
<mat-option class="option" *ngFor="let any of pendingChoices" header [value]="any.value">{{any.action}}</mat-option>
</div>
</mat-select>
Я добавил метод, который копирует массив, связанный с ngx-datatable, затем устанавливает исходный массив в 0, а затем сбрасывает связанный массив в копию.Это сбрасывает всю таблицу данных и переоценивает операторы ngif.Это не хорошее решение, но менее плохое, чем вызов службы и повторная загрузка большого количества данных.