将焦点放在Ionic 3的输入上无法在iOS和Safari浏览器中使用

时间:2018-10-17 09:22:17

标签: ios angular ionic-framework ionic3

我正在尝试将重点放在输入字段上。我已经推荐了这个solution

它在chrome浏览器和android设备上都可以正常工作,但在Safari和ios设备(在iPhone 6和6s上测试)上都不能正常工作。

这是我的.html文件

<ion-input #focusInput type="tel" placeholder="Phone Number"></ion-input>
<button type="button" onclick="setFocusByclick(focusInput)">Set Focus</button>

这是我的.ts文件

@ViewChild('focusInput') myInput;
// @ViewChild('focusInput') myInput: ElementRef; //this also doesnt work in ios

ionViewDidLoad() {
    setTimeout(() => {
      if (this.device.platform == 'Android') {
        Keyboard.show() // for android
      }
      this.myInput.setFocus();
      // this.myInput.nativeElement.focus(); //this also doesnt work in ios
    },1000);
  }

  setFocusByclick(input) {
    input.setFocus(); //this works very well onclicking
  }

好吧,单击按钮时传递输入元素引用在每个平台上都可以正常工作,但是我想在没有任何用户交互的情况下设置焦点。 ViewChild是获取元素引用的解决方案,但在 iOS和Safari

中不起作用

0 个答案:

没有答案