所选选项不再更新Vue

vxf3dgd4  于 2023-10-23  发布在  Vue.js
关注(0)|答案(1)|浏览(137)

我正在为一个任务编写一个应用程序,遇到了一个问题,我需要用户选择的值,但我一直得到被选为默认值的值;
我使用这个select:

<select v-model="selectedType" @change="onTypeChange($event)">
        <option v-for="type in types" :key="type" :selected="selectedType = cabin.type">
          {{type}}
        </option>
      </select>

这是我的数据的一部分:

export default {
  name: 'CabinsDetail32',
  props: ['cabin'],
  data () {
    return {
      types: [
        'GEAR',
        'SMALLDT',
        'SMALL',
        'LARGE',
        'FAMILY'],
      selectedType: this.type
}

我曾尝试重写选择不使用v模型,并尝试使用不同的方式设置默认选定,但无济于事

e37o9pze

e37o9pze1#

删除option标签的selected属性。selected属性指定页面加载时应预先选择某个选项
这些链接可能有助于:

  1. https://vuejs.org/guide/essentials/forms.html#select
  2. https://www.w3schools.com/tags/tag_option.asp
    要从child try**.sync**修改器更新prop:
    父组件:
<ParentComponent 
 :cabin="cabin" 
 :selectedCabinType.sync="selectedType" // selectedType will update every time child component selects type
</ParentComponent>

<script>
 data() {
  return {
   // ... your data
   selectedType: '', // or provide the default type
  }
 },
</script>

子组件:

<select v-model="selectedType" @change="onTypeChange($event)">
  <option v-for="type in types" :key="type :selected="selectedType = cabin.type">
    {{type}}
  </option>
</select>

<script>
export default {
  name: 'CabinsDetail32',
  props: ['cabin', 'selectedCabinType'],
  data () {
    return {
      types: [
        'GEAR',
        'SMALLDT',
        'SMALL',
        'LARGE',
        'FAMILY'],
      selectedType: this.type
  },
  methods: {
   onTypeChange(e) {
    this.$emit('update:selectedCabinType', e)
   }
  }
}
</script>

相关问题