Пересмотреть оператор ng-if в одном столбце ngx-datatable в ответ на нажатие кнопки - PullRequest
0 голосов
/ 08 октября 2018

У меня есть 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.Это не хорошее решение, но менее плохое, чем вызов службы и повторная загрузка большого количества данных.

...