关于vue回车事件的刷新页面问题解析

页面文本框在点击回车时会刷新页面,而且只有第一次会触发刷新

点击回车按钮后不仅页面会刷新,并且路由多了一个问号

http://localhost:8080/?#

这是因为在当前页面元素中只有一个文本框时,点击回车时会自动提交表单;
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.
当表单中只有一个单行文本输入框时,客户端应该接受该区域中的Enter作为提交表单的请求

解决方案:

在form标签中加入@submit.native.prevent阻止事件即可:

      <el-form
             :model="ruleForm"
             :rules="rules"
              ref="dynamicValidateForm"
              @submit.native.prevent
              >
               <el-form-item prop="username">
                  <el-input
                    placeholder="请输入用户名"
                    prefix-icon="el-icon-user-solid"
                    v-model="ruleForm.username"
                  ></el-input>
                </el-form-item>
         </el-form>

你可能感兴趣的:(前端工程化,Vue,前端)