Как динамически установить фокус обратно на элемент в обратном вызове подписки valueChanges? - PullRequest
0 голосов
/ 05 октября 2019

У меня есть следующий код для создания нового FormControl.

Когда я обновляю FormControl, щелкая («размытие»), все в порядке, но если я нажимаю Enter, то вводэлемент дико теряет фокус, и я попадаю в дальний угол моей формы.

Итак, я хочу убедиться, что при обратном вызове valueChanges я обязательно установлю фокус обратно на элемент (после renderArrayData()).

Возможно ли это?

this.formCtls[controlName] = new FormControl(value, {updateOn: 'blur'});
this.userForm.addControl(controlName, this.formCtls[controlName]);
this.formCtls[controlName].valueChanges.subscribe(val=>{
   itm["value"][itm["attr"]["active"][i]]=val;
   if (itm["enum"]) this.userForm.patchValue({controlName: val}); 
   this.renderDataArray();
});

1 Ответ

1 голос
/ 05 октября 2019

Для html добавьте ссылочный атрибут как

<input #inputtofocus >
//declare the map as Element Ref

@ViewChild('inputtofocus') inputele  ElementRef;


//To focus use after your render data array function

this.inputele.nativeElement.focus()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...