elementui-slider 滑动时会重置为0的问题解决

问题描述:

首次打开有 elementui-slider的页面,不管滑动哪个滑块,滑动时都会自动归0(划得动,但是会自动回到最左侧0的位置),但是他确实触发了change函数。

Untitled

问题排查

尝试了很多方法,包括将slider的值设置为number类型,虽然它本身就是number,用了一个干净的变量,是可以的,但是从系统取出来的值给他赋初值就不行。

怀疑是不是因为有2个同名滑块(v-if),但是用了v-if是只会显示一个滑块,即使删除一个,问题依旧。

上网搜答案,可没有准确描述该问题的答案。自己做demo测试都是OK的。

只有一种情况是OK的,就是不给他赋初始值,而是保留在data中写的原始值或干脆不写。

问题解决

最终发现,原来是初始值没有被响应式的更新导致的。即data的数据没有响应式更新,因为用的是对象的键值对赋值,这个根据响应式原理,如果对象的某个属性要响应式赋值,应该要写成这样:

this.$set(this.form, 'key', value)

对比前后的代码:

原先:

this.form.debtReduceRate= Number(repaymentPlanList[0].debtReduceRate * 100);

现在:

this.$set(this.form, "debtReduceRate", Number(this.form.repaymentPlanList[0].debtReduceRate * 100));

问题解决了!果真是排查问题一小时,解决问题一分钟啊!

总结

这个根本就不是elementUI的问题,而是自己没有考虑到这一点。

如果你在web前端开发、面试、前端学习路线有困难可以加我V:imqdcnn。免费答疑,行业深潜多年的技术牛人帮你解决bug。

祝你能成为一名优秀的WEB前端开发工程师!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值