значение select2 не обновлено - PullRequest
0 голосов
/ 06 ноября 2018

Я использую Vue 2.5.17 и Select2 4.0.6-rc.1.

У меня есть поле ввода, где я могу выбрать параметры. Я хочу передать выбранную опцию объекту магазина.

Это код в компоненте:

<select2 type="text" :options="bereiche" v-model="bereichInput" class="form-control">

(..)

computed: {
    bereichInput:{
        get () {
            return this.$store.state.bereichInputStore
        },
        set (value) {
            console.log("value="+value+"!");
            this.$store.commit('setBereichInput', value)
        }
    }
}

Это код в магазине:

setBereichInput(state, bereichInput)
      {
        state.bereichInputStore = bereichInput;
        console.log("Test bereich"+state.bereichInputStore+"!!!!");
      } 

Когда я тестирую ist, в консоли появляется следующее сообщение:

"Испытание берега !!!!" Ergo ничего не было передано!

Что я делаю не так?

Заранее спасибо !!

1 Ответ

0 голосов
/ 06 ноября 2018

Вы не можете использовать v-model с vuex при использовании этого компонента. Вам нужно будет самостоятельно обработать изменение значения и использовать :value для захвата привязки @input, чтобы определить, когда значение изменится. Обратите внимание:

<select2 @input="updateBereiche"
         :options="bereiche"
         :value="bereichInput" 
         class="form-control">

Затем вы добавите новый метод с именем updateBereiche

.
methods: {
  updateBereiche(value) {
      this.$store.commit('setBereichInput', value)
  }
}

Удали свой setter, он больше не нужен.

...