«

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

时间:2024-5-20 08:53     作者:韩俊     分类: Javascript


本文小编为大家详细介绍“Vue-element中el-input输入卡顿问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“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"/>

    解决方法

      使用.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()
    }

    标签: javascript vue

    热门推荐