vue v-for循环给 v-model 赋值,标签中有值 但是 data: {}中为默认空

image.png
我通过 v-for循环动态给 v-model 赋值

<el-select v-if="activeRoomStateEdit === true" v-model="roomInfo.roomState" placeholder="请选择状态">
                  <el-option
                    v-for="item in options"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                  </el-option>
                </el-select>

这里成功拿到值
image.png
image.png
image.png

data中定义

data () {
    return {
      roomInfo: {
        roomType: '',
        roomState: '',
        roomNumber: '',
        roomPrice: ''
      }}

我在方法中运用,得到的结果却是false ,也就是 roomInfo.roomState 的值是空的

      if (this.roomInfo.roomState !== '') {
        
      } else {
        this.$message({showClose: true, message: '保存失败,保存内容不能为空', type: 'warning'})
      }
    },

image.png

请问怎么 才能 令他成功与标签中的值 动态保持 一致呢?

阅读 3.3k
2 个回答

你在代码中使用的roomInfo来自roomList循环,和data中的roomInfo没有关系,所以赋值是用roomList中的赋值,取的话也得用roomList取

看着没啥问题,看看options对应的value

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