1
私は非同期/ http呼び出しを持っており、async呼び出しの結果がエラーの場合、テンプレートのエラー要素にフォーカスを設定します。角2 - 要素にフォーカスを設定
- 一つの方法は、ElementRefを注入した後の要素にアクセスし、その上にフォーカス()メソッドを呼び出すjQueryのを使用することができます。
class MyComponent { constructor(private element: ElementRef) {} doAsync() { // do something async $(this.element.nativeElement).find('.error').focus(); } }
別の方法は、モデルのプロパティに結合し、ホスト要素上
フォーカス()メソッドを呼び出す指令を作成することができます。
角度2にJQueryを組み込む/使用するのはどれくらい良いですか?
また、Angularが動作させる方法(MV *)は、 'のビューを変更するモデルはになります'と考えています。それで、どちらが正しい方法ですか?
A
答えて
7
は
import --> AfterViewInit
export class YourComponent implements AfterViewInit {
@ViewChild('err') vc: any;
ngAfterViewInit() {
this.vc.nativeElement.focus();
}
}
使用あなたがに集中しようとしている要素のどのようなタイプの、このコンポーネントのhtml
<div #err class="alert alert-danger>{{errorPrompt}}</div>
-3
0
に焦点を置く真のアクティブなクラスを返す場合コンポーネントを使用してエラーメッセージを表示または非表示にします。で
class MyComponent {
hasErrors = false;
errorPrompt = "";
constructor() {}
doAsync() {
// do something async
this.hasErrors = true;
this.errorPrompt = "Fix the errors.";
}
}
マークアップ:
<div class="alert alert-danger" *ngIf="hasErrors">{{errorPrompt}}</div>
0
要素 '.ERROR' の種類があるが、あなたはこのような何かを試みることができる全くわからない:私はしました
class MyComponent {
constructor(private renderer: Renderer2) { }
doAsync() {
// do something async
setTimeout(() => {
const element = this.renderer.selectRootElement('.error');
if (element) {
element.focus();
}
}, 200);
}
}
を要素が* ngIfにネストされていると、setTimeoutが見つかることがあります。最もクリーンなソリューションではありませんが、少なくともjqueryを含めるよりも優れています。オートフォーカスリファレンスのための独自の指示を定義することもできます。
関連する問題
- 1. 要素にフォーカスを設定
- 2. 角度jsの入力要素に手動でフォーカスを設定
- 3. 要素フォーカスの要素の角度バインドクラス
- 4. モーダルウィンドウに2番目の要素をフォーカスする(角度、ブートストラップUI)
- 5. 最初のフォーカス可能な要素にフォーカスを設定する方法jQuery?
- 6. 要素にフォーカスを設定し、残りの要素をオーバーレイする方法
- 7. プログラムで入力要素にフォーカスを設定する
- 8. 角度2/4の入力要素のフォーカス
- 9. 角度のある材質2とSideNavの要素のフォーカス
- 10. Simplemodal - onShow関数の要素にフォーカスを設定する方法
- 11. submitとresetフォームの後でinput要素にフォーカスを設定
- 12. 角度2の設定要素の高さは幅と同じ
- 13. vue.jsの入力要素のフォーカスを設定する
- 14. 要素IDでフォーカスを設定する方法
- 15. フォーカスの子要素の親要素にフォーカスを追加
- 16. GWTフォーカス要素vs Javascriptフォーカス
- 17. 角度素材を設定する2テーマをテーマに設定する
- 18. 角2.フォーカスされた要素のクラスのみを変更します
- 19. ウィンドウがポップアップした最後の要素にフォーカスを設定する方法
- 20. クラスセレクタvs要素セレクタ(角2)
- 21. 角2のストライプ要素
- 22. 角2のフォーカスフォーム要素
- 23. 角2は要素の動的関数名を設定します
- 24. どのようにHTML5キャンバス要素にフォーカスを設定しますか?
- 25. トグルとフォーカス要素
- 26. スクリプト内の要素を要素に挿入する角2
- 27. router.navigateが動作していないときの角度2のフォーカス要素
- 28. XAMLまたはMVVMを使用してUI要素にフォーカスを設定
- 29. 異なる要素にフォーカスを設定する方法しばらくのhref
- 30. リアクションセマンティックUI:ドロップダウン要素の入力フィールドにフォーカスを設定する方法
のは、あなたのフォーカス成分でこれを試してみましょうか? – MichaelSolati
@MichaelSolatiどのようなエラープロンプトでも、ブートストラップアラート「
クラスをターゲットにしているため、クラスを複数の場所で使用できるため、そのクラスを使用するすべての要素を対象にするとかなり汚くなります。条件が真である場合にクラスを表示するための条件付きディレクティブを行うことができます。 – MichaelSolati