我正在尝试将焦点设置为我的角度6反应形式的特定输入字段,但无法使用iOS设备。它在Android上工作正常,但在iOS上却不能。有人设法使其在iOS设备上运行吗?
以角反应形式添加输入字段,在类型脚本中为输入字段创建元素ref,然后调用 角度组件的afterViewInit()事件中的this.inputelementref.nativeElement.focus()。
我尝试过的Angular和iOS版本, iOS上的Angular 5 +,iOS 12 +,Safari和Chrome浏览器。
答案 0 :(得分:0)
您的代码抛出错误mat-form-field must contain a MatFormFieldControl
,该错误阻止ngAfterViewInit
触发。修复它后,如果现有代码不起作用,则可以尝试两种不同的方法:
在输入字段上放置自动对焦:
<input placeholder="test1" #input1 formControlName="input1" autofocus>
使用setTimeout()
执行聚焦功能:
setTimeout(() => this.input1Element.nativeElement.focus(), 0);