修复 modal from bootstrap(仅删除第一行)问题
fix modal from bootstrap ( delete only the first row ) problem
这是我的模态:
<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">×</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>
问题是它总是删除第一行,
但是当我删除模式,并尝试只使用它工作的按钮时!
这是 ts 中的 deleteAvenant() :
deleteAvenant(id:number){
this.policeService.deleteAvenant(id).subscribe(
data => {
console.log(id);
},
error=> console.log(error));
}
如果你的模式要保持不变,也许你应该简单地将它从那个循环中取出(和 table)。
现在,我们需要以某种方式让模式知道应该删除哪个项目。
为此,在 TS 中设置一个变量,我们可以在其中保存要删除的记录的 ID,并在单击按钮时设置它。
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>
看看这是否有帮助。
这是我的模态:
<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">×</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>
问题是它总是删除第一行, 但是当我删除模式,并尝试只使用它工作的按钮时!
这是 ts 中的 deleteAvenant() :
deleteAvenant(id:number){
this.policeService.deleteAvenant(id).subscribe(
data => {
console.log(id);
},
error=> console.log(error));
}
如果你的模式要保持不变,也许你应该简单地将它从那个循环中取出(和 table)。
现在,我们需要以某种方式让模式知道应该删除哪个项目。
为此,在 TS 中设置一个变量,我们可以在其中保存要删除的记录的 ID,并在单击按钮时设置它。
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>
看看这是否有帮助。