elementUI选择框选择后,绑定的值存在但是没有显示label的问题

问题:

今天写elementUI时,发现之前下拉选择框正常在刚刚选择了一个项后,label无法正常显示,但是select绑定的值却可以正确变化
代码段:

<el-select v-model="model.flowerId">
     <el-option 
			v-for="flower in flowerInfo" 
			:key="flower.id"
			:label="flower.name" 
			:value="flower.id"
	></el-option>
</el-select>


选择后选择框还是显示请选择

解决办法:

<el-select v-model="model.flowerId" @change="change">
     <el-option 
			v-for="flower in flowerInfo" 
			:key="flower.id"
			:label="flower.name" 
			:value="flower.id"
	></el-option>
</el-select>

在select中 加入 @change=‘change’

change(){
	this.$forceUpdate();
	//完美解决
}

出现问题原因:

出现这个问题好像是因为下拉框数据是循环掉别的接口得来的,因为数据层次太多,render函数没有自动更新,需手动强制刷新所以我直接强制刷新了值,而forceUpdate就是重新render。
写一个方法,在select的change事件中调用此方法,运用 this.$forceUpdate()强制刷新,页面正常选值。

forceUpdate()方法

forceUpdate()这个方法也适用一些很深的组件 state 已经改变了的时候,可以在该组件上面调用,解决页面v-for中修改item属性值后页面页面值不改变的问题。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值