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

目錄 前言 解決方法:element也給出了解決方法 注意事項(xiàng): 總結(jié) 前言 今天在做項(xiàng)目的的時(shí)候發(fā)現(xiàn)創(chuàng)建的el-form表單內(nèi)單個(gè)el-input框輸入值后點(diǎn)回車會(huì)導(dǎo)致頁面刷新的問題,于是好奇心驅(qū)使
目錄
  • 前言
  • 解決方法:element也給出了解決方法
  • 注意事項(xiàng):
  • 總結(jié)?

前言

今天在做項(xiàng)目的的時(shí)候發(fā)現(xiàn)創(chuàng)建的el-form表單內(nèi)單個(gè)el-input框輸入值后點(diǎn)回車會(huì)導(dǎo)致頁面刷新的問題,于是好奇心驅(qū)使下去查了vue中的form表單內(nèi)的單input框也會(huì)跳轉(zhuǎn)頁面也就是頁面刷新的問題。查了下

原因:elementUI中的當(dāng)el-form表單只存在一個(gè)el-input框時(shí),會(huì)觸發(fā)表單的默認(rèn)提交事件,element也給出了解釋

:::tip W3C 標(biāo)準(zhǔn)中有如下規(guī)定:

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.

?即:當(dāng)一個(gè) form 元素中只有一個(gè)輸入框時(shí),在該輸入框中按下回車應(yīng)提交該表單。

例:el-form內(nèi)單el-input觸發(fā)頁面刷新

<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也給出了解決方法

如果希望阻止這一默認(rèn)行為,可以在?<el-form>?標(biāo)簽上添加?@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>

?官方給出的只是阻止了這一默認(rèn)行為。當(dāng)需要回車來提交表單時(shí)可以通過下面這種操作來進(jìn)行解決

<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>
//注意事項(xiàng)
el-form 方式 確保使用 @submit.native.prevent 阻止原生事件,執(zhí)行方法為搜索按鈕按click事件
[確保方法調(diào)用不丟參數(shù)]
搜索按鈕 - 確保被包裹在 el-form 中
搜索按鈕 - 確保按鈕的click事件去除掉
搜索按鈕 - 確保增加 native-type="submit" 屬性

注意事項(xiàng):

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

1.在form表單內(nèi)再增加一個(gè)隱藏的input框

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

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

②通過css樣式進(jìn)行隱藏

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

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

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

3.阻止表單默認(rèn)提交事件(下面例子是以form表單包裹el-input,解決 el-form中el-input回車頁面刷新的問題 原生form內(nèi)的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>

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

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

總結(jié)?

到此這篇關(guān)于elementUI中input回車觸發(fā)頁面刷新問題與解決方法的文章就介紹到這了,更多相關(guān)elementUI input觸發(fā)頁面刷新內(nèi)容請(qǐng)搜索技圈網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持技圈網(wǎng)!

聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評(píng)論
更多 網(wǎng)友評(píng)論0 條評(píng)論)
暫無評(píng)論

返回頂部

主站蜘蛛池模板: 亚洲国产精品线观看不卡| 国产精品乳摇在线播放| 卡一卡2卡3卡精品网站| 丰满多毛的大隂户毛茸茸| 久夜色精品国产一区二区三区| 欧美军人男男同videos可播放 | 国产精品一区二区久久不卡| 亚洲成av人片在线观看天堂无码 | 性美国xxxxx免费| 国产无遮挡裸体免费视频 | 亚洲国产日韩女人aaaaaa毛片在线| 999zyz玖玖资源站永久| 欧美黑人bbbbbbbbb| 国内精品视频一区二区三区八戒| 亚洲精品不卡视频| 91精品福利一区二区| 看**视频一一级毛片| 天天爽夜夜爽每晚高澡| 人人添人人妻人人爽夜欢视AV | 亚洲欧洲日本在线观看| 91天堂国产在线在线播放 | 女性自慰aⅴ片高清免费| 午夜福利一区二区三区高清视频| 一区二区三区福利视频| 玉蒲团之偷情宝鉴电影| 在线观看www日本免费网站| 亚洲欧美丝袜制服在线| 波多野结衣99| 日本熟妇色熟妇在线视频播放| 国产三级免费观看| 东北壮汉gayxxxvideo| 色综合久久91| 婷婷伊人五月天| 亚洲欧美精品久久| 亚洲日本人成中文字幕| 日本护士激情波多野结衣| 午夜性色吃奶添下面69影院| a级成人毛片免费视频高清| 欧美在线黄色片| 国产欧美精品一区二区三区四区| 久久夜色精品国产欧美乱|