el-form的el-input 输入框按回车页面刷新问题
2022-10-28 本文已影响0人
刘其瑞
1、问题:当页面只有一个输入框时,获取焦点时,点击回车整个页面被刷新了
<el-form :model="Form" label-width="100px">
<el-form-item label="名称">
<el-input v-model="Form.name"></el-input>
</el-form-item>
</el-form>
上面的结构是正常的,但是当输入框获取焦点,并回车后。整个页面都被刷新了,这并不是我们希望的。
2、问题根源
Element-ui->>查看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
。
<el-form :model="Form" label-width="100px" @submit.native.prevent>
<el-form-item label="名称">
<el-input v-model="Form.name"></el-input>
</el-form-item>
</el-form>
这是标准所规定的,我们添加后就可以避免刷新了。平时看form组件时也没注意到这个内容,以后注意就好了。