在我的應用程式中,當我們單擊它時,我已經保存了資料(我們可以通過輸入一些資料來添加多個資料并通過單擊保存按鈕來保存多個資料)。
.component.html
<button
class="btn-primary"
(click)="saveDetails()">
SAVE HABITS
</button>
<span class="m-l-10"
[popoverOnHover]="false"
type="button"
[popover]="customPopovers"><i class="fa fa-trash-o" ></i> Delete</span>
<div class="popover">
<popover-content #customPopovers [closeOnClickOutside]="true">
<h4>Do you want to delete this habit?</h4>
<button
class="btn-primary clinical-note__save" deletedata()> yes </button>
<button
class="btn-primary clinical-note__save"> No </button>
</popover-content></div>
在上面的代碼中,當我們單擊洗掉按鈕時,它會顯示一些彈出視窗,其中包含按鈕是和否,所以我的要求是,當我們從彈出視窗中單擊是按鈕時,它必須洗掉特定的按鈕。
.component.ts
public saveDetails() {
if (this.selectedCategoryDetails) {
this.selectedCategoryDetails.forEach((selectedCategory) => {
if (selectedCategory.category === categoryDetails.category) {
isCategoryExist = true;
selectedCategory.habitDetails = selectedCategory.habitDetails.concat(
categoryDetails.habitDetails
);
}
});
}
if (!this.selectedCategoryDetails || !isCategoryExist) {
this.selectedCategoryDetails.push(categoryDetails);
}
this.clinicalNoteForm.patchValue({
category: null,
});
this.healthyHabits.clear();
}
上面我寫的代碼是用于保存資料(我們可以輸入多個資料并保存多個)
像上面一樣,當我們從彈出視窗中單擊“是”按鈕時,我必須洗掉特定的那個。
任何人都可以幫助我嗎
uj5u.com熱心網友回復:
如果您在 html 中進行迭代,例如:
<... *ngFor="let categoryDetails of selectedCategoryDetails" ...>
并且您的按鈕deletedata()在 ngFor 的范圍內,您可以:
- 更改您的迭代以包括專案的索引和用于更新視圖中的陣列的 trackBy 函式:
<... *ngFor="let categoryDetails of selectedCategoryDetails; let i = index; trackBy: trackByFn" ...>
- 在按鈕上單擊將索引傳遞給
deletedata()方法,例如:
deletedata(index)
創建您的
deletedata方法,例如:deletedata(index:number){ this.selectedCategoryDetails.splice(index, 1); // other code here, like calling api // to update the selectedCategoryDetails source // etc. }創建
trackByFn方法如:trackByFn(index,item){ return index; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/465366.html
標籤:javascript 有角度的 打字稿 for循环 前锋
