vue elementUI下拉框值无法选中问题

大家在写系统的时候,会有这样的需求:点击修改后把需要修改的数据放入表单,其中会有下拉单选框、下拉多选框。

  • 展示下拉框单选框内的数据只需要将所选id赋值给下拉框绑定的值就可以了。在修改的时候,大家会发现下拉框选择不了,出现这问题的原因就是视图更新不够及时,在下拉框绑定一个change事件,写入this.$forceUpdate()就不会出现问题了
html 复制代码
<el-form-item label="游戏">
    <el-select v-model="form.gamesId" filterable placeholder="请选择" @change="changeGame">
        <el-option v-for="item in gameList" :key="item.id" :label="item.name" :value="item.id"></el-option>
    </el-select>
</el-form-item>
html 复制代码
this.form.gamesId = res.data.gamesId // 点击修改后请求接口,将值赋给下拉框绑定的变量 这样会有视图更新不及时的问题
html 复制代码
changeGame(id){
    this.$forceUpdate() //在下拉框上绑定change事件 更新视图 这样就不会有视图更新的问题
},
  • 多选框。多选框不像单选框只要直接赋值进去就可已,还需要做进一步处理
html 复制代码
<el-form-item label="标签" prop="label">
    <el-select v-model="form.label" multiple collapse-tags placeholder="请选择">
         <el-option v-for="item in labels" :key="item.id" :label="item.name" :value="item.name">
        </el-option>
    </el-select>
</el-form-item>
html 复制代码
// this.form.label:下拉框绑定值 this.labels:下拉框内所有数据
let arr=[]
this.form.label.forEach(val=>{
    this.labels.forEach(item=>{
        if(val==item.id){
            arr.push(item.name);
        }
    })
})
this.form.label=arr
相关推荐
张拭心4 小时前
Cursor 又偷偷更新,这个功能太实用:Visual Editor for Cursor Browser
前端·人工智能
I'm Jie4 小时前
深入了解 Vue 3 组件间通信机制
前端·javascript·vue.js
用户90443816324605 小时前
90%前端都踩过的JS内存黑洞:从《你不知道的JavaScript》解锁底层逻辑与避坑指南
前端·javascript·面试
CodeCraft Studio6 小时前
文档开发组件Aspose 25.12全新发布:多模块更新,继续强化文档、图像与演示处理能力
前端·.net·ppt·aspose·文档转换·word文档开发·文档开发api
PPPPickup6 小时前
easychat项目复盘---获取联系人列表,联系人详细,删除拉黑联系人
java·前端·javascript
老前端的功夫6 小时前
前端高可靠架构:医疗级Web应用的实时通信设计与实践
前端·javascript·vue.js·ubuntu·架构·前端框架
前端大卫7 小时前
【重磅福利】学生认证可免费领取 Gemini 3 Pro 一年
前端·人工智能
孜燃7 小时前
Flutter APP跳转Flutter APP 携带参数
前端·flutter
脾气有点小暴7 小时前
前端页面跳转的核心区别与实战指南
开发语言·前端·javascript
lxh01137 小时前
最长递增子序列
前端·数据结构·算法