2017-10-05 49 views
0

我有一個從ngFor創建的列表,在此列表中我有一個帶有輸入複選框的子項,我需要將所有checked == true設置爲false,事件完成。如何將複選框輸入設置爲false ng中的事件

我找不到有關此角度2/4,沒有Jquery的任何信息。

代碼示例遵循

<div *ngFor="let x of all"> 
    <input type="checkbox" #userId (click)="selectedX($event, userId.checked, x)"> 
</div> 

基本上你可以選擇多個用戶,並選擇激活或關閉他們,從一個模式。我想在模式關閉後將複選框設置爲false ...

找不到方法來做到這一點。

回答

1

維護數組字段以存儲複選框狀態。註冊模態關閉事件的事件。然後,您可以循環並將所有複選框狀態設置爲false。在這裏使用雙向綁定。

page.component.ts

export class Page { 
    chkBoxStates: [{state: true, data:{}}, {state: false, data:{}}, {state: true, data:{}}]; 

    onModalClose(): void { 
     _.each(this.chkBoxStates, (item) => { 
      item.state = false; 
     }) 
    } 
} 

page.component.html

<div *ngFor="let item of chkBoxStates"> 
    <input type="checkbox" [(ngModel)]="item.state"> 
</div> 
+0

因此,這對於將在我以前的內部爲?因爲我無法更改原來的一個,所以我從端點訂閱了一個對象列表。 – GustavoA

+0

該對象中沒有包含複選框值的字段嗎?你如何確定複選框的價值? –

1

所以我遵循什麼Dulaj說,創造一個新的數組,在這個新的陣列我把我的舊數據和一種新的狀態信息。

for (let user of users) { 
    this.newArray.push({user: user, state: false}); 
} 

這樣我可以遍歷這個新陣,仍然有我的老名單的工作,並且可以使用新的狀態信息來設置我的複選框,像Dulaj顯示。

相關問題