vue elementUI下拉框值无法选中问题
大家在写系统的时候,会有这样的需求:点击修改后吧需要修改的数据放入表单,其中会有下拉单选框、下拉多选框。1、展示下拉框单选框内的数据只需要将所选id赋值给下拉框绑定的值就可以了。在修改的时候,大家会发现下拉框选择不了,出现这问题的原因就是视图更新不够及时,在下拉框绑定一个change事件,写入this.$forceUpdate()就不会出现问题了<el-form-item label="游戏
·
大家在写系统的时候,会有这样的需求:点击修改后把需要修改的数据放入表单,其中会有下拉单选框、下拉多选框。
1、展示下拉框单选框内的数据只需要将所选id赋值给下拉框绑定的值就可以了。在修改的时候,大家会发现下拉框选择不了,出现这问题的原因就是视图更新不够及时,在下拉框绑定一个change事件,写入this.$forceUpdate()就不会出现问题了
<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>
this.form.gamesId = res.data.gamesId // 点击修改后请求接口,将值赋给下拉框绑定的变量 这样会有视图更新不及时的问题
changeGame(id){
this.$forceUpdate() //在下拉框上绑定change事件 更新视图 这样就不会有视图更新的问题
},
2、多选框。多选框不像单选框只要直接赋值进去就可已,还需要做进一步处理
<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>
// 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
解决了记得点个赞哦
更多推荐
已为社区贡献3条内容
所有评论(0)