#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-моделью=Выбранная опция
- свяжите с доступными вариантами