Как выбрать значение по умолчанию в v-select из Vuex из двух магазинов? - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть v-select, который я заполняю в магазине Vuex.Мне нужно выбрать значение в v-select, которое соответствует идентификатору свойства в другом объекте, который я получаю из вычисляемого свойства (клиента), но, похоже, не могу заставить его работать.

Я не хочучтобы изменить состояние, я просто хочу отобразить соответствующее раскрывающееся значение в соответствии с идентификатором priceListId на объекте customer.

V-select:

 <v-select :items="priceLists"
                      item-text="name"
                      item-value="id"
                      label="pricelist"
                      v-model="select"
                      select
                      return-object></v-select>

Код для моделей:

export default {
  data: () => ({
    select: null
    }),
    computed: {
    priceLists () {
      return this.$store.state.pricelists.pricelists
    },
    customer () {
     return this.$store.state.customers.customers.find(customer => 
      customer.id === Number(this.customer.id))
 }
}

Есть идеи?

1 Ответ

0 голосов
/ 10 декабря 2018

Используйте watcher на customer, чтобы автоматически установить select (v-модель прайс-листа <v-select>) на желаемый прайс-лист на customer.priceListId:

watch: {
  customer: {
    immediate: true,
    handler(value) {
      this.select = value.priceListId;
    }
  }
}

демо

...