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键都可以进行查找,注意:= 左边的内容不能使用大写字母

相关推荐
_yingty_7 分钟前
GO语言入门经典-反射3(Value 与对象的值)
开发语言·前端·后端·学习·golang
糟糕好吃21 分钟前
如何用一个插件让你的 Taro 项目启动快 3 倍?
前端·javascript·微信小程序
糖墨夕36 分钟前
【1】Three.js入门心得记-开发环境及准备工作
前端·three.js
前端_学习之路41 分钟前
Vue--状态管理pinia
前端·javascript·vue.js
萌萌哒草头将军43 分钟前
🔥🔥🔥MCP TypeScript SDK 初体验:挑战快速搭建一个 AI 应用!
前端·javascript·mcp
qq_316837751 小时前
uniapp 打包 H5 向 打包的APP 使用 @dcloudio/uni-webview-js 传值
开发语言·javascript·uni-app
冴羽yayujs1 小时前
SvelteKit 最新中文文档教程(19)—— 最佳实践之身份认证
前端·javascript·vue.js·react.js·前端框架·svelte·sveltekit
Dove言和1 小时前
vue-element-plus-admin的安装
前端·javascript·vue.js·element-plus
曾是惊鸿照影来1 小时前
vue2生成二维码海报,支持复制,下载
前端
观无1 小时前
vue的主要核心文件介绍
前端·javascript·vue.js