el的form表单里面有很多输入框,实现点击回车焦点跳到下一个输入框里

在使用el的form表单时,有时候会有很多的输入框,点击回车焦点跳到下一个输入框,我们需要自定义属性v-enterToNext(随便取)

 <el-form :model="form" :inline="true" v-enterToNext>
 </el-form>

enterToNext便是自定义属性,在对应的form表单使用即可

Vue.directive("enterToNext", {
  inserted: function (el) {
    console.log("enterToNext...");
    //let frm = el.querySelector('.el-form');
    let inputs = el.querySelectorAll("input");
    console.log(inputs);
    //绑定回写事件
    for (var i = 0; i < inputs.length; i++) {
      inputs[i].setAttribute("keyFocusIndex", i);
      inputs[i].addEventListener("keyup", (ev) => {
        if (ev.keyCode === 13) {
          let targetTo = ev.srcElement.getAttribute("keyFocusTo");
          if (targetTo) {
            this.$refs[targetTo].$el.focus();
          } else {
            var attrIndex = ev.srcElement.getAttribute("keyFocusIndex");
            var ctlI = parseInt(attrIndex);
            if (ctlI < inputs.length - 1) inputs[ctlI + 1].focus();
          }
        }
      });
    }
  },
});
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值