<el-form
ref="modelForm"
:model="modelForm"
:rules="rules"
style="width:100%"
>
<el-form-item
prop="modelName"
>
<el-input
:maxlength="64"
v-model="modelForm.modelName"
></el-input>
</el-form-item>
</el-form>
代码如上:毫无科技可言,但是就是有这个神奇的现象,只要在input框中按下enter,页面整个刷新
分析: 绝对是触发了表单的默认提交
尝试解决: 将input框的enter事件给阻止冒泡----无效
这个现象真的神奇,继续查找原因:
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
翻译:当表单中只有一个单行文本输入字段时,用户代理应该接受该字段中的Enter作为提交表单的请求。
当一个 form 元素中只有一个输入框时,在该输入框中按下回车应提交该表单。
而触发了form的提交,就会导致页面刷新。
解决
禁止表单的默认提交
<form @submit.prevent></form>
vue项目
<el-form @submit.native.prevent></el-form>