enementUI中form表单输入后回车的坑

本文介绍如何解决ElementUI表单中用户按下Enter键导致页面刷新的问题,并提供了一种解决方案,通过禁止表单默认提交行为及绑定自定义事件来实现用户期望的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中使用了elementU发现使用form表单组件,用户输入后,按‘enter’键后页面刷新;并且地址栏中的所有参数都丢失;

首先全局禁用了enter键

// 禁止enter键提交表单
// document.onkeydown = function(event)
// {
//   e = event ? event : (window.event ? window.event : null);
//   if(e.keyCode==13){
// //执行的方法
//     alert('回车检测到了');
//   }
// }

后来产品又要求用户要使用enter键;(哎!头大啊)
(1)禁止输入内容后刷新页面

<el-form @submit.native.prevent></el-form>

(2)弹出框触发keydown事件(el-dialog元素是绑定不了事件的;所以新添加div元素;给div元素绑定事件;div默认是得不到焦点的,可以为其设置tabindex属性使其可以获得焦点。也就可以绑定键盘事件。)

<div @keydown="enterFun($event,'hirePurchaseFun')" tabindex="0"></div>
//enter键触发事件
      enterFun(e,fun){
        if(e.keyCode==13){
          if('fun'=='zhifubaoFun'){
            this.getPayPos('EBC19',1)()
          }
          else if('fun'=='weixinFun'){
            this.getPayPos('EBC18',1)()
          }
          else if('fun'=='meifubaoFun'){
            this.getPayPos('EBC20',1)
          }
          else{
            this[fun]()
          }

        }

      },

最后的代码如下:
这里写图片描述

一个产品需求;学到这么多知识!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值