vue3+ts+element-plus 表单el-form取消回车默认提交

问题描述:在表单el-form中的el-input中按回车后,页面会刷新,url也会改变,

回车前:

回车后:

相关代码:

解决方法1:在 el-form 上阻止默认的 submit 事件,增加 @submit.prevent,在 el-form 上监听 submit 事件,并调用 event.preventDefault() 来阻止默认的提交行为。

解决方法2:在 el-form 上阻止默认的 submit 事件,增加 @submit.native.prevent,在 el-form 上监听 submit.native 事件,并调用 event.preventDefault() 来阻止默认的提交行为。

解决方法3:在 el-form 上阻止 keydown 回车事件,增加 @keydown.enter.prevent,在 el-form 上监听 keydown.enter 事件,并调用 event.preventDefault()来阻止默认的回车行为。

解决方法4:在 指定的 el-input 组件上阻止 keydown 回车事件,增加 @keydown.enter.prevent,在 el-input 上监听 keydown.enter 事件,并调用 event.preventDefault()来阻止默认的回车行为。

扩展:

经过上述调整后,在el-input中按回车后不会默认提交表单了,但还需要实现在el-input中按回车后进行查找(相当于点击后面的查找按钮)

修改后的代码:

html 复制代码
<!-- 使用 @keydown.enter.prevent 或 @submit.prevent 或 @submit.native.prevent 取消回车默认提交 -->
      <el-form inline style="height: 32px;" @keydown.enter.prevent>
        <el-form-item>
          <!-- 使用 @keydown.enter="onSearchClick" 按回车进行查找 -->
          <!-- 使用 @keydown.a.enter.b="onSearchClick" 按a键、回车键、b键都可以进行查找,注意:= 左边的内容不能使用大写字母 -->
          <el-input v-model="name" placeholder="请输入查找内容" clearable @keydown.enter="onSearchClick">
            <template #append>
              <el-button :icon="Search" @click="onSearchClick" />
            </template>
          </el-input>
        </el-form-item>
      </el-form>

@keydown.enter="onSearchClick"

@keydown.a.enter.b.c.d......="onSearchClick" 按a键、回车键、b键、c键、d键都可以进行查找,注意:= 左边的内容不能使用大写字母

相关推荐
IT_陈寒10 分钟前
JavaScript性能优化:3个被低估的V8引擎技巧让你的代码提速50%
前端·人工智能·后端
云飞云共享云桌面15 分钟前
SolidWorks服务器多人使用方案
大数据·运维·服务器·前端·网络·电脑·制造
Red Car17 分钟前
javascript 性能优化实例一则
开发语言·javascript·ecmascript
艾小码22 分钟前
从Hello World到变量数据类型:JavaScript新手避坑指南
前端·javascript
街尾杂货店&1 小时前
css word-spacing属性
前端·css
千叶寻-2 小时前
正则表达式
前端·javascript·后端·架构·正则表达式·node.js
光影少年7 小时前
angular生态及学习路线
前端·学习·angular.js
記億揺晃着的那天9 小时前
Vue + Element UI 表格自适应高度如何做?
javascript·vue.js·ui
无尽夏_9 小时前
HTML5(前端基础)
前端·html·html5
Jagger_9 小时前
敏捷开发流程-精简版
前端·后端