当前位置: 首页 > ai >正文

Vue+Element Plus 中按回车刷新页面问题排查与解决

Vue+Element Plus 中按回车刷新页面问题排查与解决

    • 原因分析
    • 解决方案
      • 方法一:阻止默认行为 @submit.prevent
      • 方法二:只监听回车并触发搜索
      • 最终推荐写法如下:

在使用 Vue 3 + Element Plus 开发后台系统时,我们常常会通过 搭配 实现搜索功能。然而,你是否遇到过这样一个问题:

明明用户在输入框输入内容后按下回车键,本意是想执行搜索操作,但页面却整体刷新了,数据丢失,交互体验极差。

原因分析

HTML 原生 元素在提交时,会触发 submit 事件,并默认刷新页面。
Element Plus 的 实际上是基于原生 实现的,因此也会继承这一行为。
所以:

  • 如果你没有阻止表单提交的默认行为;

  • 又刚好在输入框中按下了 Enter;

  • 那么浏览器就会提交表单并刷新页面!

解决方案

方法一:阻止默认行为 @submit.prevent

<el-formref="queryFormRef":model="queryParams":inline="true"label-width="120px"@submit.prevent
>

这段代码的作用是:当 form 被提交时,阻止默认刷新页面的行为。

方法二:只监听回车并触发搜索

如果你希望回车时就直接触发搜索,也可以在输入框上监听 @keyup.enter:

<el-inputv-model="queryParams.productName"placeholder="请输入产品名称"clearable@keyup.enter="handleQuery"
/>

该方式适合在页面中没有 的时候单独控制行为。

注意事项:
即使你使用了 @keyup.enter,如果仍在 中而未阻止默认提交行为,页面仍然会刷新!所以:

@keyup.enter 负责触发搜索  
@submit.prevent 负责阻止刷新

两者结合使用效果最佳。

最终推荐写法如下:

<el-formref="queryFormRef":model="queryParams":inline="true"label-width="120px"@submit.prevent
><el-form-item label="产品名称" prop="productName"><el-inputv-model="queryParams.productName"placeholder="请输入产品名称"clearable@keyup.enter="handleQuery"/></el-form-item><el-form-item><el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button><el-button icon="Refresh" @click="resetQuery">重置</el-button></el-form-item>
</el-form>
http://www.xdnf.cn/news/15011.html

相关文章:

  • Linux中的命令连接符
  • php中array($this, ‘loadClass‘)表示啥意思?
  • 设计模式的六大设计原则
  • 《数据库》 MySQL库表操作
  • 判断当前是否为钉钉环境
  • Leetcode力扣解题记录--第42题 接雨水(动规和分治法)
  • C#中异步任务取消:CancellationToken
  • qemu vcpu的创建过程
  • 前缀和|差分
  • Java学习---JVM(1)
  • easyui碰到想要去除顶部栏按钮边框
  • 应用层协议 HTTP
  • Thrust库介绍与使用
  • LangGraph-2-interrupt 流程中断
  • Language Models are Few-Shot Learners: 开箱即用的GPT-3(二)
  • MacOS 终端(Terminal)配置显示日期时间
  • 亚矩阵云手机破解Maio广告平台多账号风控:从“生存焦虑”到“规模化增长”的终极方案
  • OneFileLLM:一键聚合多源信息流
  • AI探索 | 豆包智能助手跟扣子空间(AI办公助手)有什么区别
  • [Meetily后端框架] AI摘要结构化 | `SummaryResponse`模型 | Pydantic库 | vs marshmallow库
  • Qt Creator控件及其用途详细总结
  • CH9121T电路及配置详解
  • AI驱动的业务系统智能化转型:从非结构化到结构化的智能转换
  • 【深度学习新浪潮】什么是持续预训练?
  • 从零开始搭建深度学习大厦系列-2.卷积神经网络基础(5-9)
  • C++类对象多态底层原理及扩展问题
  • Excalidraw:一款轻量、高效、极具手感的在线白板工具
  • 18th Day| 654.最大二叉树, 617.合并二叉树, 700.二叉搜索树中的搜索,98.验证二叉搜索树
  • 微算法科技的前沿探索:量子机器学习算法在视觉任务中的革新应用
  • 虚拟储能与分布式光伏协同优化:新型电力系统的灵活性解决方案