vue中@keyup.enter失效問題及解決
@keyup.enter失效問題
情況一(我遇到的情況)
@keyup.enter外部存在form表單,并且form表單里只有一個(gè)input
原因:當(dāng)form表單內(nèi)只有一個(gè)input按回車鍵會(huì)自動(dòng)提交表單
解決辦法:多增加一個(gè)不可見的input即可
情況二(百度時(shí)了解到的)
在同一個(gè)標(biāo)簽同時(shí)添加@click和@keyup.enter
解決辦法:分開放,比如@keyup.enter通常放在input里面,@click放在button里面
@keyup.enter和@blur觸發(fā)兩次和回車無效
1.vue 對(duì) input 綁定兩個(gè)事件:回車或失焦
<input ? ?v-else ? ?ref="input" ? ?v-model="inputValue" ? ?type="text" ? ?:placeholder="placeholder" ? ?@keyup="save" ? ?@blur="save" ?/>
save(e) { ? console.log(e) ? // 可以打印出事件的內(nèi)容 ? if (e.keyCode === 13 || e.type === 'blur') { ? ? this.pShow = !this.pShow ? ? this.$emit('update', this.$attrs['step-index'], this.inputValue) ? } }
要求 input 框失焦或者鍵盤按下 Enter 鍵時(shí)觸發(fā) save 事件,但是實(shí)際上在按下 Enter 鍵后,會(huì)觸發(fā)兩次save 事件
原因:鍵盤按下 Enter 鍵執(zhí)行 save 方法同時(shí)會(huì)自動(dòng)觸發(fā) blur事件,導(dǎo)致 save 被執(zhí)行了兩次
2.解決: 鍵盤按下 Enter 鍵執(zhí)行 blur
<input ? ?v-else ? ?ref="input" ? ?v-model="inputValue" ? ?type="text" ? ?:placeholder="placeholder" ? ?@keyup.enter.native="$event.target.blur" ? ?@blur="save" ?/>
2.問題:按下 Enter 并不能觸發(fā)事件
需要將 @keyup.enter.native="$event.target.blur" 改成 @keyup.enter="$event.target.blur" , 如果 input 是 el-input 可以用第一個(gè)方法
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue組件設(shè)計(jì)之多列表拖拽交換排序功能實(shí)現(xiàn)
這篇文章主要介紹了Vue組件設(shè)計(jì)之多列表拖拽交換排序,常見的場(chǎng)景有單列表拖拽排序,多列表拖拽交換排序,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05詳解Unity webgl 嵌入Vue實(shí)現(xiàn)過程
Unity webgl嵌入到前端網(wǎng)頁(yè)中,前端通過調(diào)用Unity webgl內(nèi)方法實(shí)現(xiàn)需要展示的功能,前端點(diǎn)擊Unity webgl內(nèi)的交互點(diǎn),Unity webgl返回給前端一些需要的數(shù)據(jù),這篇文章主要介紹了Unity webgl 嵌入Vue實(shí)現(xiàn)過程,需要的朋友可以參考下2024-01-01VUE跳轉(zhuǎn)外部鏈接與網(wǎng)頁(yè)的方法示例
這篇文章主要給大家介紹了關(guān)于VUE跳轉(zhuǎn)外部鏈接與網(wǎng)頁(yè)的方法,記錄一下在vue項(xiàng)目中如何實(shí)現(xiàn)跳轉(zhuǎn)到一個(gè)新頁(yè)面,需要的朋友可以參考下2023-06-06vue如何搭建多頁(yè)面多系統(tǒng)應(yīng)用
這篇文章主要為大家詳細(xì)介紹了vue搭建多頁(yè)面多系統(tǒng)應(yīng)用的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06Vue3中Provide?/?Inject的實(shí)現(xiàn)原理分享
provide和inject主要為高階插件/組件庫(kù)提供用例,這篇文章主要給大家介紹了關(guān)于Vue3中Provide?/?Inject的實(shí)現(xiàn)原理,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02VUE開發(fā)分布式醫(yī)療掛號(hào)系統(tǒng)的醫(yī)院設(shè)置頁(yè)面步驟
這篇文章主要為大家介紹了VUE開發(fā)分布式醫(yī)療掛號(hào)系統(tǒng)的醫(yī)院設(shè)置頁(yè)面步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04一次前端Vue項(xiàng)目國(guó)際化解決方案的實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于前端Vue項(xiàng)目國(guó)際化解決方案的實(shí)戰(zhàn)記錄,以上只是一部分Vue項(xiàng)目開發(fā)中遇到的典型問題和解決方案,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07Vue實(shí)現(xiàn)Tab選項(xiàng)卡切換
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)Tab選項(xiàng)卡切換,點(diǎn)擊不同標(biāo)題顯示對(duì)應(yīng)圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09