vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue-element中el-input输入卡顿

Vue-element中el-input输入卡顿问题的解决

作者:YouluBank

这篇文章主要介绍了Vue-element中el-input输入卡顿问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Vue-element中el-input输入卡顿

最近使用Vue-element时,遇到了el-input输入卡顿问题,影响用户体验,如下

el-input是这样写的,没有加额外的事件

<el-input v-model="code" placeholder="code" type="textarea" :rows="1"/>

解决方法

注意:el-input底层代码会将文本框用div包裹,

所以直接在el-input中使用.lazy修饰符是不成功的,测试了这种写法确实无效

//不成功的使用方法
<el-input v-model.lazy="code" placeholder="code"></el-input>
//成功的使用方法("el-textarea__inner"类可以让样式与框架一致)
<textarea class="el-textarea__inner" v-model.lazy="code" placeholder="code"></textarea>

textarea class="el-textarea__inner"成功的替换了el-input,并且.lazy生效了,不卡顿了,nice

vue遇到 el-input有时无法输入的bug

1.在el-input中加入@input方法 代码如下

<el-input v-model="addRwForm.info" type="textarea" @input="inpChange($event)">

2.在methods中调用这个方法 并使用$forceUpdate(), 官方文档给出的解释是这个具有强制刷新的作用,迫使Vue重新渲染,它仅影响实例本身和插入插槽内容的子组件,并不是所有组件。

所以在输入的时候一直触发,从而解决无法输入的问题

inpChange (e) {
      this.$forceUpdate()
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文