1. 程式人生 > 實用技巧 >vue ElementUI el-input 鍵盤enter事件 導致重新整理表單問題

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。
程式碼自己體會