2017-08-15 40 views
-1

我在角2.默認情況下,我如何使我的* ngFor中的第一個項目處於活動狀態?

<div 
    class="states" 
    *ngFor="let state of states; let i = index" 
    [ngClass]="{'selected': showElement === state}" 
    (click)="trackCurrentState(state)"> 
    <div class="radio"> 
     <div class="outside"> 
      <div 
       class="inside" 
       *ngIf="showElement === state"> 
      </div> 
     </div> 
    </div> 
    <p2>{{state.name}}</p2> 
</div> 

一個單選按鈕部件中的* ngFor循環通過它們,並將它們顯示另一個組件的內部。在加載時,我的變量'showElement'返回undefined,直到用戶單擊其中一個單選按鈕。所以在加載時,我有一組單選按鈕,但是在用戶單擊一個按鈕之前都沒有選中它們。我希望默認情況下選擇單選按鈕組中的第一個按鈕(對象數組中的第一項)。我需要將我的班級'內部'應用到第一個單選按鈕,直到用戶單擊另一個單選按鈕。我怎樣才能做到這一點?

+0

我認爲你應該與「狀態」有一個名稱衝突,我看到我試圖讓一個闖入者 – Vega

回答

1

爲了讓「內部」類,你可以簡單地使用所選擇的選項:

<div [class.inside]="showElement"> </div> 

和預選的選項:

this.showElement = this.states[0]; 

在你的構造函數中或在一個ngOnInit,ngAfterViewInit - 取決於你初始化第is.showElement and this.states

1

如果我猜得不錯,你需要什麼,那就是:

this.showElement = this.states[0] 
相關問題