Vue-element中el-input输入卡顿问题的解决
短信预约 -IT技能 免费直播动态提醒
Vue-element中el-input输入卡顿
最近使用Vue-element时,遇到了el-input输入卡顿问题,影响用户体验,如下
el-input是这样写的,没有加额外的事件
<el-input v-model="code" placeholder="code" type="textarea" :rows="1"/>
解决方法
- 使用.lazy修饰符
- 使用.lazy的修饰符可以取消v-model的双向绑定,避免输入改变增加队列造成卡顿
注意: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()
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341