vue ElementUI el-input 键盘enter事件 导致刷新表单问题

问题描述:ElementUI 中的el-input,当input仅有一项时,使用@keyup.enter.native事件绑定回车事件,出现点击回车后,浏览器会刷新页面的问题;

<el-form-item label="密码">
                    <el-input
                        type="password"
                        show-password
                        v-model="secValidate.pswd"
                        autocomplete="off"
                        @keyup.enter.native="checkSubmit"></el-input>
                </el-form-item>

问题原因:是由于当表单只有一个文本框时,按下回车将会触发表单的提交事件, 导致页面的刷新。
解决方法一:在el-from 加上 @submit.native.prevent,禁止表单默认submit事件

<el-form
                label-width="80px"
                size="mini"
                @submit.native.prevent
                ref="SecondForm"
                :model="secValidate">
                <el-form-item label="密码">
                    <el-input
                        type="password"
                        show-password
                        v-model="secValidate.pswd"
                        autocomplete="off"
                        @keyup.enter.native="checkSubmit"></el-input>
                </el-form-item>
            </el-form>

解决方法二:既然el-form只有一个条件时,enter会触发submit事件,那就加一个隐藏条件,让他不唯一咯,比如再加一个隐藏的el-input。
代码自己体会

posted @ 2020-07-13 17:28  飞天龙猫  阅读(2128)  评论(0编辑  收藏  举报