исправить модальное окно из bootstrap (удалить только первую строку) - PullRequest
1 голос
/ 19 июня 2020

Это мой модальный:

<tbody>
    <tr *ngFor="let avenant of Avenants | orderBy: 'id' ">
        <td>{{avenant.categorie?.nom}}</td>
        <td>{{avenant.numeroPolice}}</td>
        <td>{{avenant.nom}}</td>
        <td>{{avenant.dateDebut|date : 'dd/MM/yyyy' }}</td>
        <td>
            <button class="btn btn-danger btn-sm" type="button" data-toggle="modal" data-target="#deleteAvenant"><i class="fa fa-trash"></i></button>
            <!-- Modal -->
            <div class="modal fade" id="deleteAvenant" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
                <div class="modal-dialog modal-dialog-centered" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                            </button>
                        </div>
                        <div class="modal-body">
                            ...
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                            <button type="button" class="btn btn-primary" data-dismiss="modal" (click)="deleteAvenant(avenant.id)">Supprimer</button>
                        </div>
                    </div>
                </div>
            </div>
        </td>
    </tr>
</tbody>

проблема в том, что он всегда удаляет первую строку, но когда я удаляю модальное окно и пытаюсь использовать только кнопку, он работает!

Это deleteAvenant () в ts:

    deleteAvenant(id:number){
      this.policeService.deleteAvenant(id).subscribe(
        data =>  {
          console.log(id);
        },
        error=> console.log(error));
        }

1 Ответ

1 голос
/ 19 июня 2020

Если ваше модальное окно останется таким же, возможно, вам следует просто извлечь его из этого l oop (и таблицы).

Теперь нам нужно как-то сообщить модальному окну, какой элемент должны быть удалены.

Для этого установите переменную в TS, в которой мы можем хранить идентификатор удаляемой записи и установить его при нажатии кнопки.

TS

deleteAvenantId = 0;

HTML

 <button (click)="deleteAvenantId = avenant.id" class="btn btn-danger btn-sm" type="button"  data-toggle="modal" 
                   data-target="#deleteAvenant"><i class="fa fa-trash"></i></button>

А затем модальное окно меняется на:

<button type="button" class="btn btn-primary" data-dismiss="modal"  (click)="deleteAvenant(deleteAvenantId)">Supprimer</button>

Посмотрите, поможет ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...