Как установить фокус на элементе 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);
}
...
Другие вопросы по тегам