我正在使用this library在我的应用中的某些位置滚动页面。一切都运行良好,直到我添加了与页面滚动同时发生的这一行。
this.myInput.first.nativeElement.focus()
这导致focus()
竞争页面滚动。由于我给页面滚动调用pageScrollDuration
并且focus()
显然滚动持续时间为0,因此页面会跳转到input
而不是在那里平滑滚动。
如何确保页面滚动平滑滚动到元素,同时仍然专注于它?
答案 0 :(得分:2)
我能找到的解决方案是包装
this.myInput.first.nativeElement.focus()
以下内容:
setTimeout(() => {
this.myInput.first.nativeElement.focus()
}, 0)
这会导致页面滚动顺利进行。