vue中input的v-model清空操作
問題來源
寫input組件的時候需求一個清空按鈕,但是如果直接修改prop中父級的傳值會報錯。但是如果不修改父級無法更新值,也會帶來開發(fā)的問題。
解決
v-model 完成大部分數(shù)據(jù)雙向綁定
<input type="text" :value="inputValue"
@change="$emit('change',$event.target.value)"
@blur="$emit('blur',$event.target.value)"
@focus="$emit('focus',$event.target.value)"
@input ="$emit('input',$event.target.value)"
>
四個事件將input的事件傳遞,在父級使用
<g-input v-model="num"></g-input>
但是在清空操作上出現(xiàn)難題,因為無論怎么操作都無法觸發(fā)vue上的數(shù)據(jù)驅(qū)動,簡單清空子組件上的維護的數(shù)據(jù)是沒有同步到父級上的,這里無疑最佳方案就是單向的數(shù)據(jù)流,讓子組件發(fā)生事件時通知父級,父元素傳值發(fā)生改變,進而改變子組件。不過感覺這樣做就違背使用v-model的初衷,但是也沒有辦法了
對要進行監(jiān)聽的dom綁定事件
子組件中:
<div @click="clear"> <g-icon></g-icon> </div>
將需要清空數(shù)據(jù)的消息告訴父級
clear(){
this.$emit('inputclear',{clear:''})
}
以上兩種可以合并成
<div @click="$emit('inputclear',{clear:''})">
<g-icon v-if="isClearShow" icon="error" class="clearForInput" ></g-icon>
</div>
父級中:
<g-input v-model="num" @inputclear="num = $event.clear"></g-input>
現(xiàn)在就可以了
總結(jié)
以上所述是小編給大家介紹的vue中input的v-model清空操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關文章
vue中使用heatmapjs的示例代碼(結(jié)合百度地圖)
這篇文章主要介紹了vue中使用heatmapjs的示例代碼(結(jié)合百度地圖),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
Vue3.0結(jié)合bootstrap創(chuàng)建多頁面應用
這篇文章主要介紹了Vue3.0結(jié)合bootstrap創(chuàng)建多頁面應用,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05
vue如何實現(xiàn)清空this.$route.query的值
這篇文章主要介紹了vue如何實現(xiàn)清空this.$route.query的值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09

