Визуализация динамического списка опций выбора - PullRequest
0 голосов
/ 03 марта 2019

У меня есть 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 реагировать при поступлении данных?

Кто-нибудь может помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...