vue中input的v-model清空操作
問(wèn)題來(lái)源
寫(xiě)input組件的時(shí)候需求一個(gè)清空按鈕,但是如果直接修改prop中父級(jí)的傳值會(huì)報(bào)錯(cuò)。但是如果不修改父級(jí)無(wú)法更新值,也會(huì)帶來(lái)開(kāi)發(fā)的問(wèn)題。
解決
v-model 完成大部分?jǐn)?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)" >
四個(gè)事件將input的事件傳遞,在父級(jí)使用
<g-input v-model="num"></g-input>
但是在清空操作上出現(xiàn)難題,因?yàn)闊o(wú)論怎么操作都無(wú)法觸發(fā)vue上的數(shù)據(jù)驅(qū)動(dòng),簡(jiǎn)單清空子組件上的維護(hù)的數(shù)據(jù)是沒(méi)有同步到父級(jí)上的,這里無(wú)疑最佳方案就是單向的數(shù)據(jù)流,讓子組件發(fā)生事件時(shí)通知父級(jí),父元素傳值發(fā)生改變,進(jìn)而改變子組件。不過(guò)感覺(jué)這樣做就違背使用v-model的初衷,但是也沒(méi)有辦法了
對(duì)要進(jìn)行監(jiān)聽(tīng)的dom綁定事件
子組件中:
<div @click="clear"> <g-icon></g-icon> </div>
將需要清空數(shù)據(jù)的消息告訴父級(jí)
clear(){ this.$emit('inputclear',{clear:''}) }
以上兩種可以合并成
<div @click="$emit('inputclear',{clear:''})"> <g-icon v-if="isClearShow" icon="error" class="clearForInput" ></g-icon> </div>
父級(jí)中:
<g-input v-model="num" @inputclear="num = $event.clear"></g-input>
現(xiàn)在就可以了
總結(jié)
以上所述是小編給大家介紹的vue中input的v-model清空操作,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Vue Element前端應(yīng)用開(kāi)發(fā)之獲取后端數(shù)據(jù)
這篇文章主要介紹了Vue Element前端應(yīng)用開(kāi)發(fā)之獲取后端數(shù)據(jù),對(duì)vue感興趣的同學(xué),可以參考下2021-05-05vue清空數(shù)組的幾個(gè)方式(小結(jié))
本文主要介紹了vue清空數(shù)組的幾個(gè)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12vue proxy 的優(yōu)勢(shì)與使用場(chǎng)景實(shí)現(xiàn)
這篇文章主要介紹了vue proxy 的優(yōu)勢(shì)與使用場(chǎng)景實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06詳解vue-cli 腳手架項(xiàng)目-package.json
本篇文章主要介紹了詳解vue-cli 腳手架項(xiàng)目-package.json,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07vue附件下載無(wú)法打開(kāi)的問(wèn)題及解決
這篇文章主要介紹了vue附件下載無(wú)法打開(kāi)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Vue-cli assets SubDirectory及PublicPath區(qū)別詳解
這篇文章主要介紹了Vue-cli assets SubDirectory及PublicPath區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08基于vue-resource jsonp跨域問(wèn)題的解決方法
下面小編就為大家分享一篇基于vue-resource jsonp跨域問(wèn)題的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02