elementUI中input回車觸發頁面刷新問題與解決方法

    目錄 前言 解決方法:element也給出了解決方法 注意事項: 總結 前言 今天在做項目的的時候發現創建的el-form表單內單個el-input框輸入值后點回車會導致頁面刷新的問題,于是好奇心驅使
    目錄
    • 前言
    • 解決方法:element也給出了解決方法
    • 注意事項:
    • 總結?

    前言

    今天在做項目的的時候發現創建的el-form表單內單個el-input框輸入值后點回車會導致頁面刷新的問題,于是好奇心驅使下去查了vue中的form表單內的單input框也會跳轉頁面也就是頁面刷新的問題。查了下

    原因:elementUI中的當el-form表單只存在一個el-input框時,會觸發表單的默認提交事件,element也給出了解釋

    :::tip 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內單el-input觸發頁面刷新

    <el-form :model="form" ref="form" label-width="200px" class="form">
      <el-form-item
        label="姓名"
        prop="name"
      >
        <el-input v-model.number="form.name"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="submit('form')">提交</el-button>
        <el-button @click="reset('form')">重置</el-button>
      </el-form-item>
    </el-form>

    解決方法:element也給出了解決方法

    如果希望阻止這一默認行為,可以在?<el-form>?標簽上添加?@submit.native.prevent。 :::

    <el-form 
      :model="form" 
      ref="form" 
      label-width="200px" 
      class="form" 
      @submit.native.prevent
    >
      <el-form-item
        label="姓名"
        prop="name"
      >
        <el-input v-model.number="form.name"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="submit('form')">提交</el-button>
        <el-button @click="reset('form')">重置</el-button>
      </el-form-item>
    </el-form>

    ?官方給出的只是阻止了這一默認行為。當需要回車來提交表單時可以通過下面這種操作來進行解決

    <el-form 
      :model="form" 
      ref="form" 
      label-width="200px" 
      class="form" 
      @submit.native.prevent="() => submit('form')"
    >
      <el-form-item
        label="姓名"
        prop="name"
      >
        <el-input v-model.number="form.name"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" native-type="submit">提交</el-button>
        <el-button @click="reset('form')">重置</el-button>
      </el-form-item>
    </el-form>
    //注意事項
    el-form 方式 確保使用 @submit.native.prevent 阻止原生事件,執行方法為搜索按鈕按click事件
    [確保方法調用不丟參數]
    搜索按鈕 - 確保被包裹在 el-form 中
    搜索按鈕 - 確保按鈕的click事件去除掉
    搜索按鈕 - 確保增加 native-type="submit" 屬性

    注意事項:

    那elementUI的解決了, 原生的form表單的單input和form包裹el-input回車刷新的問題也一樣可以解決

    1.在form表單內再增加一個隱藏的input框

    ①通過hidden定義隱藏的輸入字段

    <form>
      <input type="hidden" value="1"></input>
    </form>

    ②通過css樣式進行隱藏

    <form>
      <input type="text" style="display:none"></input>
    </form>

    2.去掉輸入框的回車事件(根據需求來定,有的需要回車事件提交表單來查詢或者執行其他操作則該方法不適用)?

    <form>
      <input type="text" onkeydown="ClearSubmit(e)"></input>
    </form>
    <script>
    function ClearSubmit(e) {
      if (e.keyCode == ) {
          return false;
      }
    }
    </script>

    3.阻止表單默認提交事件(下面例子是以form表單包裹el-input,解決 el-form中el-input回車頁面刷新的問題 原生form內的input可用onsubmit句柄返回false來解決)

    <form @submit.prevent="() => getList()">
      <el-input V-model="inputValue">
      </el-input>
      <el-button type="primary" native-type="submit"> {{"提交"}} </el-button>
      <el-button @click="reset">{{ $t(重置') }}</el-button>
    </form>

    結語:給一個elementui的官方解決這個回車刷新頁面的方案開源地址吧

    地址:https://github.com/ElemeFE/element/blob/a0e82aa8ac58d68e66992a5632b779a901436879/examples/docs/zh-CN/form.md

    總結?

    到此這篇關于elementUI中input回車觸發頁面刷新問題與解決方法的文章就介紹到這了,更多相關elementUI input觸發頁面刷新內容請搜索技圈網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持技圈網!

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 亚洲老妈激情一区二区三区| 狠狠爱无码一区二区三区| 高清在线一区二区| 日韩一区二区视频在线观看| 日本在线一区二区| 相泽亚洲一区中文字幕| 白丝爆浆18禁一区二区三区 | 中文字幕人妻AV一区二区| 国产亚洲日韩一区二区三区| 老鸭窝毛片一区二区三区| 精品国产一区二区三区香蕉| 国产激情视频一区二区三区| 日韩AV无码一区二区三区不卡毛片| 日韩在线视频一区| 99偷拍视频精品一区二区| 51视频国产精品一区二区| 国产电影一区二区| 国产日韩一区二区三区| 精品无码一区二区三区爱欲| 无码毛片视频一区二区本码| 亚洲一区二区三区日本久久九| 伊人激情AV一区二区三区| 亚洲熟妇av一区二区三区| 久久久久99人妻一区二区三区| 制服丝袜一区二区三区| 无码国产伦一区二区三区视频| 国产在线一区二区| 亚洲天堂一区在线| 中文字幕精品一区二区| 日韩aⅴ人妻无码一区二区| 国产一区内射最近更新| 一区二区三区杨幂在线观看| 国产精品一区二区三区免费| 国产一区二区三区免费观看在线| 国精无码欧精品亚洲一区| 色窝窝无码一区二区三区色欲 | 日韩伦理一区二区| 精品一区二区91| 中文字幕亚洲一区二区三区| 午夜天堂一区人妻| 国产精品一区在线麻豆|