Vue+element 回车查询页面刷新

问题描述:

form 表单出查询条件需要实现 input 输入完成后键盘回车查询:@keyup.enter="handleQuery",如果 form 里只有一个input,回车没有触发事件,而是刷新页面,放两个input就没问题

问题原因:

W3C 标准中有如下规定:

When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form.

即:当一个 form 元素中只有一个输入框时,在该输入框中按下回车应提交该表单。 如果希望阻止这一默认行为,可以在 < el-form > 上加一个@submit.native.prevent

解决方法:

阻止表单默认提交行为

  • form表单上加一个@submit.native.prevent
  • el-input 增加 @keyup.enter.native

vue2 示例:

html 复制代码
<el-form @submit.native.prevent >
  <el-form-item>
    <el-input v-model="num" @keyup.enter.native="handleQuery"></el-input>
  </el-form-item>
  <el-form-item>
    <el-button @click="onCancel()">取消</el-button>
    <el-button type="primary" @click="onNext">确定</el-button>
 </el-form-item>
</el-form>

注意:

.native修饰符在vue3中被弃用

解决方法: < el-form > 添加 @submit.prevent

类似问题 vue项目中 点击提交按钮路由多了个问号

相关推荐
IT_陈寒20 分钟前
SpringBoot实战:3个隐藏技巧让你的应用性能飙升50%
前端·人工智能·后端
weixin1997010801624 分钟前
唯品会商品详情页前端性能优化实战
前端·性能优化
爱学习的程序媛31 分钟前
【Web前端】Pinia状态管理详解
前端·vue.js·typescript
java1234_小锋39 分钟前
分享一套优质的SpringBoot+Vue咖啡商城系统
vue.js·spring boot·咖啡商城
爱学习的程序媛41 分钟前
“数字孪生”详解与前端技术栈
前端·人工智能·计算机视觉·智慧城市·信息与通信
海石1 小时前
微信小程序开发02:原始人也能看懂的着色器与视频处理
前端·微信小程序·视频编码
程序员Sunday1 小时前
Claude Code 生态爆发:5个必知的新工具
前端·人工智能·后端
ChoSeitaku1 小时前
NO.2|proto3语法|消息类型|通讯录|文件读取|enum类型
java·服务器·前端
小J听不清1 小时前
CSS 边框(border)全解析:样式 / 宽度 / 颜色 / 方向取值
前端·javascript·css·html·css3
用户255778850811 小时前
axios全局重复请求取消
前端