Angular Input set焦点问题在iOS设备中不起作用

时间:2019-02-26 16:45:27

标签: angular focus

我正在尝试将焦点设置为我的角度6反应形式的特定输入字段,但无法使用iOS设备。它在Android上工作正常,但在iOS上却不能。有人设法使其在iOS设备上运行吗?

以角反应形式添加输入字段,在类型脚本中为输入字段创建元素ref,然后调用 角度组件的afterViewInit()事件中的this.inputelementref.nativeElement.focus()。

我尝试过的Angular和iOS版本, iOS上的Angular 5 +,iOS 12 +,Safari和Chrome浏览器。

1 个答案:

答案 0 :(得分:0)

您的代码抛出错误mat-form-field must contain a MatFormFieldControl,该错误阻止ngAfterViewInit触发。修复它后,如果现有代码不起作用,则可以尝试两种不同的方法:

  1. 在输入字段上放置自动对焦:

    <input placeholder="test1" #input1 formControlName="input1" autofocus>

  2. 使用setTimeout()执行聚焦功能:

    setTimeout(() => this.input1Element.nativeElement.focus(), 0);