@andrkkk

Как сменить одну кнопку на другую, если (click) уже занят?

Есть таблица, из которой можно записи сохранить в профиль, либо если сохранены, то можно удалить.
Есть ли запись или нет и какую кнопку отобразить решается при загрузке таблицы.
А как сделать, чтобы с этим же при клике на клиенте кнопка поменялась на противоположную?
Директивы *ngIf и (click) заняты,не могу придумать.

Столбец таблицы ngx-datatable с кнопкой:
<ngx-datatable-column
   [width]="50"
   [resizeable]="false"
   [sortable]="false"
   [draggable]="false"
   [canAutoResize]="false"
>
   <ng-template let-row="row" let-rowIndex="rowIndex" let-show="show" ngx-datatable-cell-template>
       <div class="go-to-link">
           <a class="btn " href="{{row.link}}" target="_blank" title="Перейти к источнику"><i class="fas fa-external-link-alt fa"></i></a>
           <button *ngIf="isAddedToProfile(row)==false" class="btn btn-add"  (click)="addToProfile(rowIndex)"><i class="far fa-plus-square"></i></button>
           <button *ngIf="isAddedToProfile(row)==true" class="btn btn-add"  (click)="deleteFromProfile(rowIndex)"><i class="fas fa-minus-square"></i></button>
       </div>
   </ng-template>
</ngx-datatable-column>

Проверка, сохранена ли запись ранее, чтобы отобразить верную кнопку при старте:
isAddedToProfile(row) {   
    return this.addedPersons.some(person => person.id === row.id);          
  }

Ссылка на stackblitz
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 1
@loonny
А почему не сделать обертку?
то есть повесить на click функцию, которая вызывает несколько функций?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы