解决el-select选项为对象时回显问题

本文探讨了在Vue中使用el-select组件时遇到的问题,当绑定值为对象时,回显不正常。错误做法是将value设置为对象的id,导致组件无法显示。正确的解决方案是将:value改为直接绑定对象,使value与选项对象保持一致。通过这种方式,el-select可以正确显示回显数据。
摘要由CSDN通过智能技术生成

问题:当el-select的绑定值为对象时,回显时只能赋值字符串,不能赋值对象;赋值对象后不显示,代码如下:

字段定义:

updateSchoolMod:{},

回显方法中赋值:

this.updateSchoolMod.id = row.schoolId;
this.updateSchoolMod.schoolName = row.schoolName;

 <el-form-item label="学校">
     <el-select value-key="id" v-model="updateSchoolMod" placeholder="请选择学校" style="min-width: 100%;"
                filterable clearable @change="getUserList">
         <el-option
                    v-for="item in schoolList"
                    :key="item.id"
                    :label="item.schoolName"
                    :value="item.id">
         </el-option>
     </el-select>
 </el-form-item>

正确写法:

 <el-form-item label="学校">
     <el-select value-key="id" v-model="updateSchoolMod" placeholder="请选择学校" style="min-width: 100%;"
                filterable clearable @change="getUserList">
         <el-option
                    v-for="item in schoolList"
                    :key="item.id"
                    :label="item.schoolName"
                    :value="item">
         </el-option>
     </el-select>
 </el-form-item>

错误原因如下图::value="item",不能写成:value="item.id":

分析:绑定的默认值为 value,即value需为对象,如果是id,则为字符串

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值