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项目中 点击提交按钮路由多了个问号

相关推荐
weixin19970108016几秒前
《好看视频商品详情页前端性能优化实战》
前端·性能优化·音视频
有意义1 分钟前
深入理解浏览器存储方案:从Cookie到JWT登录认证
前端·面试·浏览器
jiayong232 分钟前
第 6 课:第二轮真实重构,拆出任务表格组件
前端·重构
jiayong239 分钟前
第 4 课:怎么把一个大页面拆成多个组件
运维·服务器·前端
skywalk816311 分钟前
使用DuMate帮助创建 Python 3.9 环境并部署 Kotti CMS
前端·chrome
英俊潇洒美少年15 分钟前
Vue Hook 与 React Hook 全面解析:区别、用法、实战及避坑指南
前端·vue.js·react.js
吴声子夜歌21 分钟前
ES6——Symbol详解
开发语言·javascript·es6
weixin_7042660522 分钟前
项目总结一
java·前端·spring boot·后端·spring
Mintopia23 分钟前
接口设计为什么越改越乱:新手最容易踩的三个坑
前端