gpt4 book ai didi

javascript - 我的删除方法是拼接数组中的最后一项,而不是所选项目

转载 作者:行者123 更新时间:2023-11-28 12:19:29 26 4
gpt4 key购买 nike

我正在尝试利用 splice 方法从 Angular 2 应用程序的数组中删除一个项目。但现在,当我将鼠标悬停在某个项目的垃圾图标上并单击它时,数组中的最后一个项目将被删除,而不是我正在单击的项目。我需要在代码中调整什么才能删除当前单击的项目,而不是数组中的最后一个项目?

这是我的组件信息:

  zipcodes = [
{ id: 3, zipcode: '75201', city: 'Dallas' },
{ id: 8, zipcode: '75205', city: 'Dallas' },
{ id: 1, zipcode: '77001', city: 'Houston' },
{ id: 2, zipcode: '78703', city: 'Austin' },
];

deleteZip() {
console.log('Delete zip clicked...');
this.zipcodes.splice(this.zipcodes.indexOf(this.zipcode), 1);
}

这是我的组件模板/ View 中的相关代码:

<div *ngFor="let zipcode of zipcodes">{{zipcode.zipcode}} -- <span>{{zipcode.city}}</span><span class="delete-option" (click)="deleteZip()"><i class="material-icons">delete</i></span></div>

最佳答案

您应该将邮政编码传递给您的删除方法

deleteZip(zipcode:any) {
let index = this.zipcodes.indexOf(zipcode);
if(index >= 0) {
this.zipcodes.splice(index , 1);
}
}

然后在你的模板中

<div *ngFor="let zipcode of zipcodes">{{zipcode.zipcode}} -- <span>{{zipcode.city}}</span><span class="delete-option" (click)="deleteZip(zipcode)"><i class="material-icons">delete</i></span></div>

关于javascript - 我的删除方法是拼接数组中的最后一项,而不是所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41683222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com