Element UI 中el-input 框回车触发页面刷新问题及解决

文章讲述了在使用ElementUI的el-input组件时,按下回车键导致页面刷新的问题。通过在el-form标签上添加@submit.native.prevent事件阻止默认提交行为,可以避免页面刷新,保持搜索功能正常运行。

问题描述

当el-input 获取焦点后按到回车按钮会刷新当前页面

 <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
	<el-form-item label="关键字">
		<el-input v-model.trim="queryParams.keyword" placeholder="请输入" clearable></el-input>
	</el-form-item>
	<el-form-item class="el-btn-box">
		<el-button class="el-btn-search" type="primary" icon="custom-icon-search" size="mini" @click="handleQuery" :loading="loading">查询</el-button>
	</el-form-item>
</el-form>

问题解决

在el-form标签增加表单事件@submit.native.prevent,防止搜索框回车键刷新整个页面

 <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" @submit.native.prevent>
	<el-form-item label="关键字">
		<el-input v-model.trim="queryParams.keyword" placeholder="请输入" clearable></el-input>
	</el-form-item>
	<el-form-item class="el-btn-box">
		<el-button class="el-btn-search" type="primary" icon="custom-icon-search" size="mini" @click="handleQuery" :loading="loading">查询</el-button>
	</el-form-item>
</el-form>
### 如何在 Element UI 的文本组件中阻止按下 Enter 键时自动换行 为了防止 `el-input` 组件中的 Enter 键触发默认行为(如换行),可以采用监听键盘事件的方式并结合 Vue.js 的修饰符实现。具体方法是在输入上添加带有 `.native` 修饰符的 `@keyup.enter` 事件处理程序,从而拦截 Enter 键的操作。 对于单个 `el-input` 输入而言,当希望禁用其内部的 Enter 键响应逻辑时,可以在该控件所在的父级容器(通常是 `el-form` 或者其他包裹层)上面定义相应的事件处理器,并通过调用 JavaScript 的 `event.preventDefault()` 方法来取消默认动作[^2]: ```html <template> <div> <!-- 使用 .native 修饰符捕获原生 DOM 事件 --> <el-form @keyup.enter.native="handleEnter"> <el-input v-model="message"></el-input> </el-form> </div> </template> <script> export default { data() { return { message: '' }; }, methods: { handleEnter(event) { // 阻止表单提交或其他默认行为 event.preventDefault(); console.log('Enter key pressed but prevented.'); } } }; </script> ``` 如果目标是完全移除所有与 Enter 键关联的行为而不仅仅是阻止表单提交的话,则可以直接在 `el-input` 自身绑定此事件而不必依赖于外部容器[^1]: ```html <template> <div> <el-input v-model="message" @keyup.enter.native.stop="" ></el-input> </div> </template> ``` 上述代码片段展示了两种不同的策略用于控制 `el-input` 对 Enter 键作出反应的方式;前者适用于更复杂的场景下管理多个子元素间的交互关系,后者则是更为简洁直接的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值