-2
ngFor内の特定のinput
要素にフォーカスを設定すると、IOSデバイスでは機能しません。他のすべての場所でうまく機能します。ローカルテンプレート変数を使用して入力にフォーカスを設定しても、IOSでは機能しませんか?
HTML
@Component({
selector: 'my-app',
template: `
<div *ngFor="let item of [1,2,3,4]; let i = index">
<button type="button" (click)="show = i; input.focus()">Click to show and set focus</button>
<input #input *ngIf="show == i" type="text" >
</div>
`,
})
活字体:
export class App {
show = -1;
constructor() {
}
}
を私がアクセスを持っていない
それは、よりエレガントなものがある判明どんなiOSブラウザでも、私は実験できません。申し訳ありません。既に見える入力に焦点を合わせて、それが機能するかどうかを確認してください。その後、タイムアウトを増やしてみてください。 'this.theInput.nativeElement'の値を表示して、正しく挿入されているかどうか確認してください。 –
私の同僚はよりエレガントな方法を見つけました。多分iOSの問題を修正するだろう。編集された答えを参照してください。 –
ここでの解決策は良いです - https://stackoverflow.com/questions/34522306/focus-on-newly-added-input-element 特に、レンダラでディレクティブを使用して、アクセスするのではなくフォーカスを適用することを提案する最新のものnativeElementを直接呼び出します。ディレクティブを使用すると、カスタム入力を指定し、常に入力されているようなbrute forceメソッドのようなngAfterViewCheckedを使用するのではなく、変更の入力を監視することができます。 – diopside