elementui form enter刷新问题

Posted dxl-ggr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elementui form enter刷新问题相关的知识,希望对你有一定的参考价值。

//在生命周期中监听键盘keydown事件

const _this = this;

document.onkeydown = function(e) {
  console.log(e)
  if (e.keyCode === 13) {
    const isFromHaveOneInput = _this._isFromHaveOneInput(e.target)
    if (isFromHaveOneInput) {
      e.preventDefault()
    }
  }
}

//判断表单中是否只有一个input 输入框

_isFromHaveOneInput(target) {
  const form = target.form
  const typeList = [‘password‘, ‘number‘, ‘email‘, ‘search‘, ‘tel‘, ‘text‘]
  if (target.nodeName !== ‘INPUT‘) {
    return false
  }
  if (!form) {
    return false
  }
  const formChildInput = []
  let i = 0
  while (form[i]) {
    if (form[i].nodeName === ‘INPUT‘ && typeList.includes(form[i].getAttribute(‘type‘))) {
      formChildInput.push(form[i])
    }
    i++
  }
  return formChildInput.length === 1
}



























以上是关于elementui form enter刷新问题的主要内容,如果未能解决你的问题,请参考以下文章

2020-07-05 elementui系列:input回车事件,阻止原生刷新页面事件,slot

vue+elementUI的el-form的回车键登录,监听键盘来触发事件

VUE 中 使用 iview Form组件 enter键防止页面刷新

elementui form resetFields()方法的使用

按enter 导致整个页面刷新的解决办法

ElementUI Form 调用后端接口校验