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

相关推荐
Jul1en_1 天前
Claude 迁移 Codex 工作流迁移与更新
java·服务器·前端·后端·ai编程
Heo1 天前
14_React 中的更新队列 updateQueue
前端·javascript·面试
前端 贾公子1 天前
解决浏览器端 globalThis is not defined 报错
前端·javascript·vue.js
宁雨桥1 天前
前端与AI结合实战分享
前端·人工智能
之歆1 天前
DAY12_CSS3选择器全攻略 + 盒子新特性完全指南(下)
前端·javascript·css3
kyriewen111 天前
代码写成一锅粥?3个设计模式让你的项目“起死回生”
开发语言·前端·javascript·设计模式·ecmascript
光影少年1 天前
react函数组件、类组件、纯组件、受控/非受控组件
前端·react.js·掘金·金石计划
程序员包打听1 天前
MoonBit 是什么?给第一次听说这门语言的你
前端·后端
Rkgua1 天前
CSS动画效果
前端·css
Rkgua1 天前
Flexbox 与 Grid 布局
前端·css