VUEJS V-SHOW только переключается в первый раз - PullRequest
0 голосов
/ 30 сентября 2019

Почему v-show работает только при первом переключении?

У меня есть вход if_motorcycle_owned. Если его значение равно true, другой выбранный вход будет отображаться, в противном случае это не так. Вот соответствующий код:

<label for="select-if-moto" class="mt-3">Possiede un motociclo?</label>
 <b-form-select
   name="select-if-moto"
   type="select"
   v-model="currentProfile.if_motorcycle_owned"
   :options="boolean"
   @change="onChangeMoto($event)"
   class="mb-2"
   required
 />
<div  v-show="currentProfile.if_motorcycle_owned === true">
  <label
      for="select-info-moto"
      class="mt-3"
 >
Indica la cilindrata
</label>           
 <b-form-select
   id="select-info-moto"
    type="select"
   v-model="currentProfile.user_motorcycle_characteristic"
   :options="motoEngine"
   class="mb-2"
   required
 />
 </div>

Функция @onChangeMoto ничего не делает, просто console.log, в котором я вижу, как обнаруживаются изменения логических значений.

onChangeMoto(event) {
  console.log('if moto from profile: ', this.currentProfile.if_motorcycle_owned)
},

Я не использую v-for в шаблоне. Я попытался установить переменную itShows: false в data (), а затем

this.itShows = !this.itShows

внутри @onChangeMoto для принудительного переключения, но ничего не изменилось.

Значения по умолчанию получены изОтвет API, если я начну с true, другой div покажет, если я выберу false, он исчезнет, ​​как и ожидалось. Но после первого раза, если я продолжу переключать, он больше не изменится. Только значения в консоли, как вы можете видеть:

if moto from profile:  false
if moto from profile:  true
if moto from profile:  false
if moto from profile:  true
if moto from profile:  false

Кто-нибудь знает, почему ?? ? Спасибо

...