Хобрук: Ваш путь к мастерству в программировании

Выбор первого элемента в ComboBox из вызова ODATA. UI5

У меня есть поле со списком, которое заполняется вызовом odata.

С домашней страницы я перехожу на страницу с этим полем со списком и хочу, чтобы в этом поле со списком выбирался первый элемент вызова ODATA в качестве элемента по умолчанию / выбранного элемента.

Я использую bindAggregation для заполнения поля со списком в функции onInit()

После привязки объекта я хочу прочитать список, взять первый и выделить его.

bindComboBox: function() {
    var comboBox = oView.byId("ComboBoxID");
    comboBox.bindAggregation("items", {
        path: path,
        parameters: param,
        sorter: sorter,
        template: template,
        filters: filter,
        events: {
            dataReceived: this.selectFirstItemFunction()
        }
}


selectFirstItemFunction: function() {
    var comboBox = oView.byId("ComboBoxID");
    var comboBoxItems = comboBox.getItems(); // This ends up being undefined.
    comboBox.setSelectedItem(comboBoxItems[0]);
}

Когда я это делаю, var comboBoxItems в selectFirstItemFunction() всегда пусто / не определено.

Я также пробовал поместить selectFirstItemFunction() внутрь onAfterRendering(), но это тоже не сработало.

Если страница уже загружена, а я делаю selectFirstItemFunction(), поле со списком работает, как задумано.

Есть мысли о том, как правильно загрузить поле со списком?

16.07.2018

Ответы:


1

Вы не прикрепляете к событию функцию selectFirstItem. Вы вызываете его напрямую при выполнении "bindComboBox".

Исправьте это следующим образом:

dataReceived: this.selectFirstItemFunction.bind(this)

Но будьте осторожны, потому что dataReceived может не сработать, если данные уже кэшированы. Так что, возможно, вы захотите использовать событие "изменение"

change: this.selectFirstItemFunction.bind(this)
17.07.2018
Новые материалы

Введение в контекст React
В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

Это оно
Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

Базовое руководство по переносу концепций обучения в глубокое обучение
Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

C в C.R.U.D с использованием React-Redux
Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

5 обязательных элементов современного инструмента конвейера данных
В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..