国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:4日期:2022-06-12 18:43:31
目錄前言解決方法: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- 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' [email protected]> <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' [email protected]='() => 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觸發頁面刷新內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
主站蜘蛛池模板: 99久久免费观看 | 欧美日韩另类在线观看视频 | 青青操网站 | 国产美女作爱全过程免费视频 | 手机看片日韩国产一区二区 | 国产毛片a精品毛 | 欧美人成一本免费观看视频 | 91久久国产露脸精品 | 成人视视| 成人午夜性a一级毛片美女 成人午夜亚洲影视在线观看 | 国产亚洲人成网站在线观看 | 日韩欧美视频一区 | 日本欧美片 | 精品国产成人三级在线观看 | 99精品视频在线在线视频观看 | 亚洲精品一区二区三区中文字幕 | 国产a级三级三级三级 | 成人欧美精品久久久久影院 | 视频网18免费 | 国产又粗又黄又湿又大 | 亚洲精品中文字幕久久久久久 | 97香蕉久久夜色精品国产 | 精品久久久久久国产免费了 | 美女视频永久黄网站免费观看国产 | 成人毛片免费在线观看 | 欧美成人综合在线观看视频 | 女人张开双腿让男人桶爽免 | 最新久久免费视频 | 国产三级在线视频观看 | 普通话对白国产精品一级毛片 | 久久综合丁香 | 精品免费久久久久久成人影院 | 一级淫片免费视频 | 国产亚洲欧美精品久久久 | 日韩理论视频 | 色噜噜狠狠大色综合 | 欧美日韩在线观看精品 | 国产日韩精品欧美一区 | 免费观看a毛片一区二区不卡 | 步兵社区 | 成人免费黄色网址 |