vue列表單項(xiàng)展開(kāi)收縮功能之this.$refs的詳解
展開(kāi)效果–看紅框區(qū)域
收縮效果–看紅框區(qū)域
接下來(lái)看代碼邏輯
###template部分:已去除與本文不相關(guān)的功能代碼
<li class="main-video"v-for="(item, index) of courseSubList" :key="item.id"> <div class="audio-name"> <div class="img-l"> <span class="img-l-num">{{index+1}}</span> <span class="img-l-name">{{item.subName}}</span> </div> <div class="img-r" @click="showHide(index)" ref="arrow"> <i class="iconfont"></i> </div> </div> <div class="audio-body" ref="child"> <div class="body-l"> <p class="body-l-num body-l-num-video"> <i class="iconfont"></i> </p> <span class="body-l-name">{{item.fileName}}</span> </div> <div class="body-r"> <i class="iconfont" @click="deletCourseSub(item.id)"></i> </div> </div> </li>
###js部分:已去除與本文不相關(guān)的功能代碼
data() { return { courseSubList: [], // 課程正文列表 } }, methods: { showHide(index) { if (this.$refs.child[index].style.display === 'none') { this.$refs.child[index].style.display = 'flex' this.$refs.arrow[index].style.transform = 'rotateX(0deg)' } else { this.$refs.child[index].style.display = 'none' this.$refs.arrow[index].style.transform = 'rotateX(180deg)' } }, deletCourseSub(id) { // 功能代碼省略 } }
###分析過(guò)程:
- 分別給展開(kāi)折疊的箭頭加ref="arrow"屬性;
- 分別給列表單項(xiàng)內(nèi)容區(qū)最外層標(biāo)簽即本文的class="audio-body"的標(biāo)簽加ref=“child”;
- 再給箭頭標(biāo)簽區(qū)域加個(gè)showHide(index)事件;
- 最后通過(guò)對(duì)應(yīng)的index利用vue的ref屬性改變對(duì)應(yīng)的列表單項(xiàng)展開(kāi)折疊;
以上所述是小編給大家介紹的vue列表單項(xiàng)展開(kāi)收縮功能之this.$refs詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- vue頂部菜單欄實(shí)現(xiàn)小結(jié)
- vue實(shí)現(xiàn)右鍵菜單欄
- vue+el-menu實(shí)現(xiàn)菜單欄無(wú)限多層級(jí)分類(lèi)
- 如何利用Vue3管理系統(tǒng)實(shí)現(xiàn)動(dòng)態(tài)路由和動(dòng)態(tài)側(cè)邊菜單欄
- vue如何實(shí)現(xiàn)自定義底部菜單欄
- Vue2(三)實(shí)現(xiàn)子菜單展開(kāi)收縮,帶動(dòng)畫(huà)效果實(shí)現(xiàn)方法
- vuejs實(shí)現(xiàn)折疊面板展開(kāi)收縮動(dòng)畫(huà)效果
- vue2左側(cè)菜單欄收縮展開(kāi)功能實(shí)現(xiàn)
相關(guān)文章
Vue 配合eiement動(dòng)態(tài)路由,權(quán)限驗(yàn)證的方法
今天小編就為大家分享一篇Vue 配合eiement動(dòng)態(tài)路由,權(quán)限驗(yàn)證的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09關(guān)于vue-tree-chart簡(jiǎn)單的使用
這篇文章主要介紹了關(guān)于vue-tree-chart簡(jiǎn)單的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08vue屬性props默認(rèn)類(lèi)型的寫(xiě)法介紹
這篇文章主要介紹了vue屬性props默認(rèn)類(lèi)型的寫(xiě)法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04Vue封裝DateRangePicker組件流程詳細(xì)介紹
在后端管理項(xiàng)目中使用vue來(lái)進(jìn)行前端項(xiàng)目的開(kāi)發(fā),但我們都知道Vue實(shí)際上無(wú)法監(jiān)聽(tīng)由第三方插件所引起的數(shù)據(jù)變化。也無(wú)法獲得JQuery這樣的js框架對(duì)元素值的修改的。而日期控件daterangepicker又基于JQuery來(lái)實(shí)現(xiàn)的2022-11-11一文帶你了解threejs在vue項(xiàng)目中的基本使用
three.js是一個(gè)用于在Web上創(chuàng)建三維圖形的JavaScript庫(kù),它可以用于創(chuàng)建各種類(lèi)型的三維場(chǎng)景,包括游戲、虛擬現(xiàn)實(shí)、建筑和產(chǎn)品可視化等,下面這篇文章主要給大家介紹了關(guān)于如何通過(guò)一文帶你了解threejs在vue項(xiàng)目中的基本使用,需要的朋友可以參考下2023-04-04