Как выбрать опцию в Vue

#javascript #vue.js

Вопрос:

 <template>
 <select class="form-control mt-1" @change="selectUser">
  <option >select user</option>
  <option v-for="(user, index) in users" :key="index" {{user.first_name}}</option>
 </select>
</template>

<script>
selectUser(event){
 if(event.target.selectedIndex != 0){
   this.index = event.target.selectedIndex-1
   this.selectedUsers.push(this.users[this.index])
   this.users.splice(this.index, 1)
  }              
}
</script>
 

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

Ответ №1:

Вы можете использовать v-model , чтобы получить выбранный элемент из <select>

 <select v-model="selected">
        ......
</select>
 

а затем используйте его таким образом:

<span>Selected: {{ selected }}</span>

Ответ №2:

Лучший способ-это иметь :

  • параметры и выбранная опция в данных.
  • A Доступные варианты в качестве вычисляемых параметров с параметром. filter(o => o !== this.selectedOption)
  • Свяжите выбор с v-моделью=Выбранная опция
  • свяжите с доступными вариантами