前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue多个input框接连focus,blur事件导致页面抖动

Vue多个input框接连focus,blur事件导致页面抖动

作者头像
lyudev
发布2023-03-01 17:17:17
1.4K0
发布2023-03-01 17:17:17
举报
文章被收录于专栏:代码即数据代码即数据

bug描述:Vant + Vue 技术

需求:一个表格中有至少两条数据,每条数据都有input框,在失去焦点后需要展开表头,获取焦点时收回表头。

  触发:在点击一个input框后接着点击另一个input框,使第一个input框的失去焦点为第二个input框的获得焦点,触发事件,会导致顶部表头先展开再收回,造成页面抖动。

代码语言:javascript
复制
<van-field
                  type="number"
                  v-model="row.completionRate"
                  name="completionRate"
                  placeholder="请输入"
                  :rules="[{ required: true,}]"
                  @focus="inputFocus($event)"
                  @blur="inputBlur($event)"
              />
  methods:{
    inputFocus(Event) {
      this.$emit('change',1);
    },
    inputBlur(e) {
      if(!e.relatedTarget || e.relatedTarget.className == 'el-input_inner')  {
        this.$emit('change',2);
      }
    }
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 代码即数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档