2017-07-14 15 views
1

私はthis libraryを使用して、私のアプリの特定のポイントでページをスクロールしています。ページのスクロールと同時に起こるはずのこの行を追加するまで、すべてうまくいっていました。角度CLI;フォーカスも入力にスクロール

this.myInput.first.nativeElement.focus() 

これにより、focus()がページスクロールを競合しました。ページのスクロールコールにpageScrollDurationを与えているので、focus()が0の持続時間でスクロールするように見えるので、ページはスムーズにスクロールする代わりにinputにジャンプします。

ページのスクロールが要素にスムーズにスクロールするようにするにはどうすればよいですか?私は見つけることができた

答えて

2

ソリューションは、以下で

this.myInput.first.nativeElement.focus()

をラップしました:

setTimeout(() => { 
    this.myInput.first.nativeElement.focus() 
}, 0) 

これは、ページのスクロールがスムーズに起こるようになります。

+0

ライブラリーから提供された 'pageScrollFinish'イベントを使用してフォーカスをトリガーできませんか? –

+0

私はこれを調べましたが、問題は、フォーカスされている要素がスクロール担当のコンポーネントと同じコンポーネントにないことでした。 – rmlarsen