Я хочу установить положение курсора после изменения объекта модели, но он фактически пытается установить положение курсора до обновления значения текстового поля.
HTML:
<input type="text" name="test" id="test" [(ngModel)]="myString">
<button type="button" (click)="updateText('testStr')">
TS:
myTextBox: HTMLInputElement;
ngOnInit() {
this.myTextBox = document.getElementById('test');
}
updateText(str:String){
this.myString+=str;
this.myTextBox.focus();
this.myTextBox.setSelectionRange(2,2);
}
Таким образом, поскольку он пытается установить позицию курсора до фактического обновления текста, он может только focus()
. Но если я ничего не привязываю к текстовому полю и не обновляю его текст, выполняя this.myTextBox.setAttribute('value',str);
, а затем focus()
и вызывая setSelectionRange
, это работает. Что мне делать?