Как установить фокус на элементе dxi
Мы используем DevExtreme-Components от DevExpress в нашем приложении Angular 6. У нас есть форма, созданная с помощью элементов dxi-item, таких как:
<dx-form id="form" #manageOfferForm [formData]="getOfferToManageForView">
<dxi-item class="dx-fieldset" itemType="group" caption="Projektstammdaten">
<dxi-item dataField="description" [label]="{text: 'Description'}">
</dxi-item>
...
Теперь мой вопрос: как я могу установить фокус на элементе редактора dxi-item из контроллера?
1 ответ
Сначала создайте метод в вашем компоненте, например:
...
setFocus(e){
e.component.focus();
}
...
Далее попробуйте добавить его в настройках вашего редактора:
<dxi-item
dataField="Description"
[label]="{text: 'Description'}"
[editorOptions]="{onInitialized: setFocus}">
</dxi-item>
Примечание: если это не работает, попробуйте добавить тайм-аут в свой метод setFocus.
...
setFocus(e){
setTimeout(() => {
e.component.focus();
}, 0);
}
...