vue中@keyup.enter失效問題及解決
@keyup.enter失效問題
情況一(我遇到的情況)
@keyup.enter外部存在form表單,并且form表單里只有一個input
原因:當(dāng)form表單內(nèi)只有一個input按回車鍵會自動提交表單
解決辦法:多增加一個不可見的input即可

情況二(百度時了解到的)
在同一個標(biāo)簽同時添加@click和@keyup.enter
解決辦法:分開放,比如@keyup.enter通常放在input里面,@click放在button里面
@keyup.enter和@blur觸發(fā)兩次和回車無效
1.vue 對 input 綁定兩個事件:回車或失焦
<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 鍵時觸發(fā) save 事件,但是實際上在按下 Enter 鍵后,會觸發(fā)兩次save 事件
原因:鍵盤按下 Enter 鍵執(zhí)行 save 方法同時會自動觸發(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 可以用第一個方法
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue之解決Echarts組件使用ID不能復(fù)用的問題
這篇文章主要介紹了Vue之解決Echarts組件使用ID不能復(fù)用的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
vue自定義switch開關(guān)組件,實現(xiàn)樣式可自行更改
今天小編就為大家分享一篇vue自定義switch開關(guān)組件,實現(xiàn)樣式可自行更改,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vue如何實現(xiàn)拖動圖片進行排序Vue.Draggable
這篇文章主要介紹了vue如何實現(xiàn)拖動圖片進行排序Vue.Draggable,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04

