问题描述:在表单el-form中的el-input中按回车后,页面会刷新,url也会改变,
回车前:
回车后:
相关代码:
解决方法1:在 el-form
上阻止默认的 submit
事件,增加 @submit.prevent,在 el-form
上监听 submit
事件,并调用 event.preventDefault()
来阻止默认的提交行为。
解决方法2:在 el-form
上阻止默认的 submit
事件,增加 @submit.native.prevent,在 el-form
上监听 submit.native
事件,并调用 event.preventDefault()
来阻止默认的提交行为。
解决方法3:在 el-form
上阻止 keydown 回车事件,增加 @keydown.enter.prevent,在 el-form
上监听 keydown.enter
事件,并调用 event.preventDefault()
来阻止默认的回车行为。
解决方法4:在 指定的 el-input 组件上阻止 keydown 回车事件,增加 @keydown.enter.prevent,在 el-input
上监听 keydown.enter
事件,并调用 event.preventDefault()
来阻止默认的回车行为。
扩展:
经过上述调整后,在el-input中按回车后不会默认提交表单了,但还需要实现在el-input中按回车后进行查找(相当于点击后面的查找按钮)
修改后的代码:
<!-- 使用 @keydown.enter.prevent 或 @submit.prevent 或 @submit.native.prevent 取消回车默认提交 -->
<el-form inline style="height: 32px;" @keydown.enter.prevent>
<el-form-item>
<!-- 使用 @keydown.enter="onSearchClick" 按回车进行查找 -->
<!-- 使用 @keydown.a.enter.b="onSearchClick" 按a键、回车键、b键都可以进行查找,注意:= 左边的内容不能使用大写字母 -->
<el-input v-model="name" placeholder="请输入查找内容" clearable @keydown.enter="onSearchClick">
<template #append>
<el-button :icon="Search" @click="onSearchClick" />
</template>
</el-input>
</el-form-item>
</el-form>
@keydown.enter="onSearchClick"
@keydown.a.enter.b.c.d……="onSearchClick" 按a键、回车键、b键、c键、d键都可以进行查找,注意:= 左边的内容不能使用大写字母