У меня есть Vue, где выбранные опции выбора AJAX недоступны В ПЕРВЫЙ раз, когда визуализируется Vue.
Я сделал так, как предлагается здесь: https://vuejs.org/v2/guide/list.html#Object-Change-Detection-Caveats.
Форма динамическигенерируется из объекта "схемы".
<b-form-group v-for="(obj, key) in schema"
v-if="obj.type !== 'hidden'"
:label="createInputLabel(obj, key)" :label-for="key" >
...
<div v-else-if="obj.type == 'select'" role="group"
class="form-group">
<select v-model="attributes[key]" :id="key" :name="key"
class="custom-select">
<option v-for="option in optionsList[key]"
v-bind:value="option.value">
{{ option.text }}
</option>
</select>
</div>
...
</b-form-group>
optionsList - объект с ключами, содержащий списки всех элементов select в форме.optionsList создается путем наблюдения объекта "схема".Код Rest API:
var idx = key;
Rest('GET', '/table/' + schema[key].table, requestParams,
this.$root.user.token)
.then(response => {
var localOptionsList = [];
response.data.forEach(function(row) {
var obj = { value: row[schema[idx].listColumns],
text: row[schema[idx].listColumns] };
localOptionsList.push(obj);
});
Vue.set(me.optionsList, idx, localOptionsList);
})
.catch(error =>
...
Как уже упоминалось, код работает нормально, кроме ПЕРВОГО времени, когда визуализируется Vue.
Это очевидно, потому что данные еще не были возвращеныиз Rest API, поэтому моя проблема заключается в том, как заставить Vue реагировать при поступлении данных?
Кто-нибудь может помочь?