最近用ionic2写input autofocus事件,发现无论是autofocus还是focus()事件,在浏览器中测试,都没有效果,更别说在真机上了。纠结了一天,终于找到了解决方案。
解决方案
在ngAfterViewInit事件后执行setTimeout事件,比如这样:
ngAfterViewInit(){
let input = this.myInput.nativeElement;
setTimeout(function(){
input.focus();
}, 1000);
}
这样就没问题了,如果有些同学在真机测试时仍有问题,可以再在config.xml文件中加上以下代码:
<preference name="KeyboardDisplayRequiresUserAction" value="false" />