您好,登錄后才能下訂單哦!
小編這次要給大家分享的是如何用vue實(shí)現(xiàn)div單選多選功能,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
vue實(shí)現(xiàn)div單選多選功能,供大家參考,具體內(nèi)容如下
單選
單選:
多選:
單選功能
DOM層:
<div class="labeloption" :class="{checked:ageActive == 11}" @click="changeStatus(11)">0-16歲</div> <div class="labeloption" :class="{checked:ageActive == 12}" @click="changeStatus(12)">17-25歲</div> <div class="labeloption" :class="{checked:ageActive == 13}" @click="changeStatus(13)">26-35歲</div> <div class="labeloption" :class="{checked:ageActive == 14}" @click="changeStatus(14)">36-45歲</div> <div class="labeloption" :class="{checked:ageActive == 15}" @click="changeStatus(15)">46-55歲</div> <div class="labeloption" :class="{checked:ageActive == 16}" @click="changeStatus(16)">55歲以上</div>
js層:
new Vue({ el: '#home', data() { return { ageActive:11 //初始選中狀態(tài)的元素id } }, methods: { changeStatus(number){ this.ageActive = number; } } })
單選功能主要利用的是vue的數(shù)據(jù)驅(qū)動(dòng)原則改變當(dāng)前dom元素的狀態(tài)
多選功能
DOM層:
<div class="labeloption checked" @click="changeStatus($event,11)">0-16歲</div> <div class="labeloption" @click="changeStatus($event,12)">17-25歲</div> <div class="labeloption" @click="changeStatus($event,13)">26-35歲</div> <div class="labeloption" @click="changeStatus($event,14)">36-45歲</div> <div class="labeloption" @click="changeStatus($event,15)">46-55歲</div> <div class="labeloption" @click="changeStatus($event,16)">55歲以上</div>
js層:
new Vue({ el: '#home', data() { methods: { changeStatus(e,number){ if (e.target.className.indexOf("checked") == -1) { e.target.className = "labeloption checked"; //選中div樣式 } else { e.target.className = "labeloption";//未選中div樣式 } } })
多選功能于單選功能不同,沒(méi)有用到vue的數(shù)據(jù)驅(qū)動(dòng)原則,單純的操作dom元素,跟vue沒(méi)啥關(guān)系。
看完這篇關(guān)于如何用vue實(shí)現(xiàn)div單選多選功能的文章,如果覺(jué)得文章內(nèi)容寫(xiě)得不錯(cuò)的話,可以把它分享出去給更多人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。