element在el-form只有一个el-input时回车刷新页面

问题描述

在使用element ui的表单组件时,当表单只有一个输入框并绑定回车事件时,回车没有触发绑定的事件却刷新了页面

官方文档解释

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

解决办法

1
2
3
4
5
<el-form @submit.native.prevent>
<el-form-item>
<el-input @keyup.native.enter="submit"></el-input>
</el-form-item>
</el-form>