Angular 在启动时使用“确认按摩”时删除同一选定行

Angular 在启动时使用“确认按摩”时删除同一选定行,angular,typescript,primeng,Angular,Typescript,Primeng,在我的angular项目中,通过使用素数表,我希望在确认后删除行, 因此,每一行都有一个删除按钮,当单击它时会显示确认消息,但当单击确认按钮时会出现问题表中的最后一行被删除,而不是选择了同一行 这是我的HTML: <button class="btn btn-danger" (click)="showConfirm()"><span class="fa fa-trash"></span></button> <p-toast positio

在我的angular项目中,通过使用素数表,我希望在确认后删除行, 因此,每一行都有一个删除按钮,当单击它时会显示确认消息,但当单击确认按钮时会出现问题表中的最后一行被删除,而不是选择了同一行

这是我的HTML

 <button class="btn btn-danger" (click)="showConfirm()"><span class="fa fa-trash"></span></button>

<p-toast position="center" key="c" (onClose)="onReject()" [modal]="true" [baseZIndex]="5000">
    <ng-template let-message pTemplate="message">
        <div style="text-align: center">
            <i class="pi pi-exclamation-triangle" style="font-size: 3em"></i>
            <h3>{{message.summary}}</h3>
            <p>{{message.detail}}</p>
        </div>
        <div class="ui-g ui-fluid">
            <div class="ui-g-6">
                <button type="button" pButton (click)="onConfirm(rowData.id)" label="yes" class="ui-button-success"></button>
            </div>
            <div class="ui-g-6">
                <button type="button" pButton (click)="onReject()" label="No" class="ui-button-secondary"></button>
            </div>
        </div>
    </ng-template>
</p-toast>
底漆的参考:[

更新

当我尝试将参数
rowData.id
放入HTMLcomponents.ts中的showConfirm方法中,并在显示所选行的细节中使用串联时

HTML


但是我不知道如何将相同的参数从
showConfirm(id:Clients)
传递到
onConfirm()
方法。

好吧,我不知道是否正确。但是我会这样做:

1-10您是一个类似deleteCandidate的变量

2-在showConfirm方法上更新它

showConfirm(id:Clients) { // to show confirm massage
this.deleteCandidate=id;
    this.messageService.add({key: 'c', sticky: true, severity:'warn', summary:'!Delete confirm', detail:'Are you shur to dlelete this client '+id});
  }
3-将其传递给onConfirm

 onConfirm(id:Clients)<--this parameter is useless
 {
        this.Service.deleteClient(this.deleteCandidate).subscribe(res => {})
onConfirm(id:Clients){}

嗯,我不知道我是否做对了。但我会这样做:

1-10您是一个类似deleteCandidate的变量

2-在showConfirm方法上更新它

showConfirm(id:Clients) { // to show confirm massage
this.deleteCandidate=id;
    this.messageService.add({key: 'c', sticky: true, severity:'warn', summary:'!Delete confirm', detail:'Are you shur to dlelete this client '+id});
  }
3-将其传递给onConfirm

 onConfirm(id:Clients)<--this parameter is useless
 {
        this.Service.deleteClient(this.deleteCandidate).subscribe(res => {})
onConfirm(id:Clients){}

另一种方法是使用Priming的“确认对话框”。

另一种方法是使用打底的“确认对话框”。

问题可能来自“确认”按钮引用的“rowData.id”,您确定它以任何方式链接到要删除的特定行的“删除”按钮吗?每个删除按钮在调用“showConfirm()时都可能传递当前行的id,以便您的对话框知道尝试删除哪个id。非常感谢您的支持,rowData中没有问题。id请检查更新。可能我没有理解,当我单击“删除”按钮显示确认消息并单击“是”按钮后将删除同一行时,问题可能来自m来自确认按钮引用的“rowData.id”,您确定它以任何方式链接到要删除的特定行的删除按钮吗?每个删除按钮在调用“showConfirm()时都可能传递当前行的id,以便您的对话框知道尝试删除哪个id。非常感谢您的支持,
rowData中没有问题。id
请检查更新。可能我没有理解,当我单击“删除”按钮显示确认消息并单击“是”按钮后,将删除同一行。非常感谢,您让我如果您不介意的话,请填充happy我还有另一个问题:我想按名称替换串联中的
id
,我该怎么做?@MohamedElkast,而不是(单击)=“onConfirm(rowData.id)”,您可以使用(单击)=“onConfirm(rowData)”,然后在方法体中,您可以访问object.onConfirm(obj)的所有属性{obj.name例如,我真的很感谢你的支持,非常感谢你的合作。非常感谢,如果你不介意的话,你让我很高兴。我还有另一个问题:我想用名字替换连接中的
id
,我该怎么做?@MohamedElkast,而不是(单击)=“onConfirm(rowData.id)”,你可以使用(单击)=“onConfirm(rowData)”然后在方法体中,您可以访问对象的所有属性。例如onConfirm(obj){obj.name真的很感谢您的支持,这对我很好非常感谢您的合作您是对的,听起来不错,“确认消息”更适合我您是对的,听起来不错,“确认消息”“更适合我
 onConfirm(id:Clients)<--this parameter is useless
 {
        this.Service.deleteClient(this.deleteCandidate).subscribe(res => {})