vue项目中如何让下拉框的值,默认为查询后台得到的数组里面最小的值?

写出来了, 感谢 @hfhan

<el-select v-model="value">
    <el-option
      v-for="item in gameStatusList"
      :key="item.value"
      :label="lang=='zh' ? item.nameCn : item.nameEn"
      :value="item.value">
    </el-option>
  </el-select>
  
  watch:{
      gameStatusList(data,oldData){
        if (oldData.length===0&&data.length>0){
          this.value=1//等于数组中最小的值
        }
      }
    },

vue项目中如何让下拉框的值,默认为查询后台得到的数组里面最小的值

需求如问题,

就是例如 <select v-model='val'>
val的初始值是数组中最小的值,但是以后 val的变化就和数组无关了,只有页面加载的时候,给val赋初始值的时候和数组有关,以后就没有任何关系了,不能再因为数组的变化再改变val的值

项目加载的时候,执行vuex的actions,执行查询,给store中state的某个数组赋值,
然后我如果用v-model data里面的属性,在组件created方法里面给data里面的属性赋值,组件created的时候,数组还是空,所以无法遍历数组,所以赋值失败;

如果用计算属性,我就想不明白,v-model计算属性,会怎么样,到底他的值是已下拉框为准,还是以get为准

阅读 7.1k
2 个回答

select不是绑定了一个val值吗v-model="val",watch中监听state数组,当数组发生变化时,找出最小值,赋值给val

首先你要从后台给的数组里面找到这个最小的数字,然后绑定到select上

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题