解决el-select回显问题:使其显示label值

发布于:2025-02-10 ⋅ 阅读:(53) ⋅ 点赞:(0)

框内显示value的值,没有显示label的值

遇到的问题

原始代码

        <el-form-item label="解锁模式">
          <el-select v-model="form.unlockMode" placeholder="请选择">
              <el-option label="" value="0"></el-option>
              <el-option label="" value="1"></el-option>
          </el-select>
        </el-form-item>

修改方法1、

将value="0"改为value=0 、value="1"改为value=1

        <el-form-item label="解锁模式">
          <el-select v-model="form.unlockMode" placeholder="请选择">
              <el-option label="" value=0></el-option>
              <el-option label="" value=1></el-option>
          </el-select>
        </el-form-item>

修改方法2、

将value="0"改为 :value=“0” 、value="1"改为 :value=“1”(:value是v-bind:value的简写形式)

        <el-form-item label="解锁模式">
          <el-select v-model="form.unlockMode" placeholder="请选择">
              <el-option label="" :value="0"></el-option>
              <el-option label="" :value="1"></el-option>
          </el-select>
        </el-form-item>

解决后

总结

v-model绑定的值与el-option中的value类型不一致造成的。el-select在做回显value判断的时候用的是===,值和类型都必须一致才行。

我这里v-model绑定的是int类型的,而value的值是string类型的,两者不匹配。

value

value 的值为"0"、 “1”
后端定义的int类型和前端的string类型不匹配。1 != “1”

<el-option label="" value="0"></el-option>
<el-option label="" value="1"></el-option>

:value

使用 :value 时,值会被当作表达式来处理。value 属性的值是数字 0 和 1。

<el-option label="" :value="0"></el-option>
<el-option label="" :value="1"></el-option>

网站公告

今日签到

点亮在社区的每一天
去签到