对于下拉框组件,当需要使用options里面其他属性的时候,v-model绑定单个值无法解决需求的时候,需要绑定成对象
<el-select  
    v-model="formData.brand"  
    value-key="id"  
    placeholder="请选择品牌"   
    <el-option    
        v-for="item in brands"    
        :key="item.id"    
        :label="item.name"    
        :value="item">  
    </el-option>
</el-select>
复制代码在el-select添加value-key=”id”属性,el-option中添加:key=”item.id”属性。其中value-key的值与key绑定的属性值(该属性值不能是对象)对应
回显:
在回显的时候v-model绑定的值也必须是对象,也就是formData.brand必须是个对象,且这个对象中必须含有value-key绑定的属性(同名)。实际上,给model赋值的对象含有id属性值就可以,其余属性可多可少,一般情况都是按照示例来操作
示例:

在回显后有初始值的情况下,不能修改,也不能选择其他选项
![图片[1]-element-ui中select组件v-model绑定值为对象及设定初始值后,不能重新选择的问题-一一网](https://www.proyy.com/skycj/data/images/2021-06-29/b18b42bfc188fccb6eb0379bb8f4fa0b.jpg)
如图,默认值为Dondi,能够正确的赋值,后续选择了世达尔star,formData.brand会正确的变化,但是页面展示没有对应的变化
经过尝试发现,数据更改没有触发render,所以用$forceUpdate()强制更新视图
<el-select  
    v-model="formData.brand"  
    value-key="id"  
    placeholder="请选择品牌"  
    @change="$forceUpdate()">  
    <el-option    
        v-for="item in brands"    
        :key="item.id"    
        :label="item.name"    
        :value="item">  
    </el-option>
</el-select>
复制代码© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
    




















![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)
