2017-12-03 5 views
0

Angular2アプリでは、フォーム(「FormGroup」)があります。Angular2は、フォームコントロールの1つにフォーカスがあるかどうかをチェックします。

フォームにはいくつかのフォームがあります。

this.mainForm = this.fb.group({ 
     firstPart:this.firstForm, 
     secondPart:this.secondForm, 
     thirdPart:this.thirdForm 
     .... 
}); 

私の需要量は、私のコードでは、いくつかの場所で、私は、フォーム(ないメインフォームが、内部のフォームの一部)がフォーカスされているかどうかを確認する必要があり、です。

実は私はこのような何か:

isFormInFocus(formName) { 
    let innerForm = this.mainForm.controls[formName]; 
    //NOT EXIST - I need something like this... 
    return innerForm.focus; 
} 

を必要とする私の問題は、私も、特定のフォームコントロールにこれをチェックする方法を見つけることはありませんです。私はこれを知っている場合は、それらの一つにフォーカスがある場合

は、私は、回避策として、ループは、すべてのフォームの内側のフォームのコントロールとは...

任意のアイデアを確認することができますか?

答えて

0

私にも同様の必要性がありました。フォームコントロールから有効なプロパティが表示されませんでした。私はInputまたはElementRefViewChildの参照を引っ張って、私の場合は実際に<input>になりました。もう一度私が使うことができる焦点のための財産は見つかりませんでした。

残念ながら、私は焦点状態を自分自身(これは狂っているようです)に追いついていました。それはうまくいく、ちょうど過度のように思える。

HTML

<input md-no-float placeholder="City or Zip" type="text" matInput formControlName="destination" (focus)="autocompleteFocus()" (blur)="autocompleteBlur()"> 

TS

isDestinationFocused: boolean; 

autocompleteFocus() { 
    this.isDestinationFocused = true; 
} 

autocompleteBlur() {  
    this.isDestinationFocused = false; 
} 
関連する問題