8. 解决form表单只有一个input输入框时,按键盘回车键会导致页面刷新的问题

712 阅读1分钟

效果图:

image.png

原因:W3C 标准中有如下规定:当一个form元素中只有一个输入框时,在该输入框中按下回车应提交该表单。
解决方案: 1.如果希望阻止这一默认行为,可以在标签上添加 @submit.native.prevent。

  <el-form @submit.native.prevent>
    <el-form-item label="关键字">
      <el-input
        clearable
        v-model="form.search"
        placeholder="输入关键词"
        @keyup.enter.native="onSubmit(1)"
      ></el-input>
      <el-button type="primary" plain @click="onSubmit(1)">搜索</el-button>
    </el-form-item>
  </el-form>

2.给form表单加一个隐藏的input输入框,这样form表单中就不是只有一个输入框;

  <el-form>
    <el-form-item label="关键字">
      <el-input></el-input>
      <el-input style="display:none"></el-input>
    </el-form-item>
  </el-form>