溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何用vue實(shí)現(xiàn)div單選多選功能

發(fā)布時(shí)間:2020-07-16 14:14:52 來(lái)源:億速云 閱讀:469 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

小編這次要給大家分享的是如何用vue實(shí)現(xiàn)div單選多選功能,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

vue實(shí)現(xiàn)div單選多選功能,供大家參考,具體內(nèi)容如下

單選

單選:

如何用vue實(shí)現(xiàn)div單選多選功能

多選:

如何用vue實(shí)現(xiàn)div單選多選功能

單選功能

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ò)的話,可以把它分享出去給更多人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI