По умолчанию динамическое значение в Combobox onload LWC

Я получаю набор значений из вершины через JS, я хочу предварительно выбрать первый вариант в выпадающем списке Lightning (полученные значения различаются для разных пользователей). Я использовал переменную @track и попытался установить значение onLoad с помощью connectedcallback. Ниже приведен фрагмент кода

HTML

<lightning-layout-item padding="around-small">
            <lightning-combobox
           name="objPicklist"
           label="Objects"
           value={selectedObj}
           options={objects}
           onchange={displayObjRecords} >
        </lightning-combobox>

JS файл

@track selectedObj;
objects = [];

connectedCallback(event) {
  
    optionList({
        userID : this.currentUser,
    })
    .then(result=>{
        var i;
        
        for(i = 0; i < result.length; i++){
            const option = {
                label : result[i],
                value : result[i]
            };
            this.objects = [...this.objects, option];
            
        }
        //SETTING UP THE VALUE HERE.
        this.selectedObj = this.objects[0].value;
        
    })
    .catch(error => {
        this.error = error;
        console.log('Error : '+ JSON.stringify(this.error));
    })
    
}

Я хотел бы установить по умолчанию первый вариант, полученный в поле со списком молнии. Как это сделать в LWC?


person Pragadeesh Dharsha V    schedule 22.12.2020    source источник
comment
Вы получаете ошибку?   -  person Abraham Labkovsky    schedule 22.12.2020
comment
@AbrahamLabkovsky Нет, значение просто не заполняется.   -  person Pragadeesh Dharsha V    schedule 22.12.2020
comment
@PragadeeshDharshaV ваша реализация верна, и она должна работать, если она не работает, то я могу предположить, что optionList () ничего не возвращает, попробуйте отладить ее. Кроме того, добавьте проверку нуля и длины перед доступом к первому элементу массива ответов.   -  person Jasneet Dua    schedule 24.12.2020


Ответы (1)


Вот моя версия,

Кажется, здесь все работает нормально:

https://webcomponents.dev/edit/enWpiQZZx8jl1OlicDeH

Я сделал свойство объекта реактивным:

  @track objects = [];
person Prashant Kashyap    schedule 03.01.2021