在项目中遇见使用element的计数器,只可加一次和减一次,之后加减失效的问题,change事件也没有执行。百度之后发现可能是数据层级过深,导致视图无法刷新,这里v-model绑定的对象下的一个数组,数组里的某一个对象的属性值。
知道原因之后就好解决了,可以使用forceUpdate强制触发update声明周期,迫使vue实例重新渲染
<el-input-number
class="ml10 mr10"
style="width: 120px"
v-model="conItem.num"
controls-position="right"
:min="1"
:max="10000"
@change="changeVal"
></el-input-number
changeVal() {
this.$forceUpdate();//解决点击计数器失效问题
},
扩展一下:
1.input框有时候会无法输入进去,也可以使用forceUpdate文章来源:https://www.toymoban.com/news/detail-729378.html
2.去vue官网了解一下$set,由于JavaScript的限制,vue检测数组的变动也是有限制的,当数据双向绑定失败时,就要考虑绑定的方式是否错误了,对于数组的赋值,需要使用$set。文章来源地址https://www.toymoban.com/news/detail-729378.html
到了这里,关于element el-input-number 加减失效或者只加减一次就失效的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!