Vue實(shí)現(xiàn)點(diǎn)擊展開收起功能

為了節(jié)省大家寶貴的時(shí)間她君,先看看效果圖是不是你們想要的吧睹耐。


1.實(shí)現(xiàn)思路

??數(shù)據(jù)存放到showList數(shù)組中糊探,通過控制showList元素的個(gè)數(shù)來決定顯示的個(gè)數(shù)。未點(diǎn)擊展示時(shí)扣汪,showList只存放一定數(shù)目的數(shù)據(jù)断楷,當(dāng)點(diǎn)擊展開時(shí),showList存放全部數(shù)據(jù)崭别。

① 數(shù)據(jù)部分
    data(){
        return{
            literarys:["中國先當(dāng)代隨筆","名家作品","文集",'紀(jì)實(shí)文學(xué)',"中國古詩詞","中國現(xiàn)當(dāng)代詩歌",
                    "外國詩歌","中國古代隨筆","外國隨筆","民家文學(xué)","戲劇","文學(xué)評(píng)論與鑒賞","文學(xué)理論"],
            showAll:false,
        }
    }
② 邏輯部分

1-1 全部數(shù)據(jù):將要顯示的全部數(shù)據(jù)冬筒,放在literarys數(shù)組中。
1-2 展開前的數(shù)據(jù):在沒有點(diǎn)擊“展開”之前茅主,頁面已經(jīng)顯示了5個(gè)數(shù)據(jù)舞痰。這5個(gè)數(shù)據(jù)可以通過循環(huán)遍歷literarys數(shù)組的前5個(gè),將literarys前5個(gè)放在一個(gè)showList空數(shù)組中诀姚,最后返回空數(shù)組响牛。
1-3 展開后的數(shù)據(jù):如果要展示全部數(shù)據(jù),很明顯赫段,應(yīng)該將literarys中的數(shù)據(jù)都存到showList數(shù)組中呀打。

    computed:{
        showList:function(){
            if(this.showAll == false){   //不顯示全部數(shù)據(jù)               
                var showList = [];     //空數(shù)組          
                if(this.literarys.length > 5){   //只顯示5條    
                    for(var i=0;i<5;i++){
                        showList.push(this.literarys[i]); //將數(shù)組的前5條存放到showList數(shù)組中
                    }
                }else{
                    showList = this.literarys  //個(gè)數(shù)足夠顯示,不需要在截取
                }
                return showList;                
            }else{  //顯示全部數(shù)據(jù)
                return this.literarys;
            }
        },
        word:function(){ //點(diǎn)擊顯示部分
            if(this.showAll == false){           
                return '展開'
            }else{
                return '收起'
            }
        }
    },

③ HTML結(jié)構(gòu)部分

<ul>
  <li v-for="(item,index) in showList" :key=index >{{item}}</li>
  <li @click="showAll = !showAll" class="show-more">{{word}}</li>
</ul>

這個(gè)是簡(jiǎn)單版的糯笙,如果想要實(shí)現(xiàn)上面的效果贬丛,需要一些樣式,下面是帶有樣式的html:

<ul>
 <li v-for="(item,index) in showList" :key=index :class="{hiddenline:index==showList.length-2 ||index== showList.length-1}"> 
   <router-link to="/" >{{item}}</router-link>
   <span class="line" :class="{hidden1:index%3==2}"</span> 
  </li>
  <li class="none-line">
    <span @click="showAll = !showAll" class="show-more">
        <b>{{word}}</b>
    </span>
 </li>
</ul>

樣式[less語法]

.warp-txt{
            ul{
                width: 100%;
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                padding:2%;
                box-sizing: border-box;
                position: relative;
                li{
                    width: 33.33%;
                    text-align: center;
                    display: flex;
                    height: 44px;
                    position: relative;
                    border-bottom: 1px solid #e1e1e1;
                    a{
                        text-decoration: none;
                        color: #4D525D;
                        font-size: 0.8rem;
                        margin:auto;
                    }   
                }
                .hiddenline{
                    border-bottom: 0px;
                }
                .line{
                    content: "";
                    height: 14px;
                    width: 1px;
                    background-color: #e1e1e1;
                    position: absolute;
                    top:35%;
                    right:0%;
                }
                .hidden1{
                    width: 0px;
                }
                .none-line{
                    border-bottom: 0px;
                    .show-more{
                        color: #BABABA;
                        font-size: 0.5rem;
                        border-bottom: 0px;
                        margin:auto;
                    }
                }
            }  
        }

————————————————
哈哈炬丸,下面是小編的博客喲請(qǐng)多多支持呢O(∩_∩)O哈哈

原文鏈接:https://blog.csdn.net/weixin_43332684/article/details/107476809

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瘫寝,一起剝皮案震驚了整個(gè)濱河市蜒蕾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌焕阿,老刑警劉巖咪啡,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異暮屡,居然都是意外死亡撤摸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門褒纲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來准夷,“玉大人,你說我怎么就攤上這事莺掠∩狼叮” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵彻秆,是天一觀的道長楔绞。 經(jīng)常有香客問我,道長唇兑,這世上最難降的妖魔是什么酒朵? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮扎附,結(jié)果婚禮上蔫耽,老公的妹妹穿的比我還像新娘。我一直安慰自己留夜,他們只是感情好匙铡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著香伴,像睡著了一般慰枕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上即纲,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天具帮,我揣著相機(jī)與錄音,去河邊找鬼低斋。 笑死蜂厅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的膊畴。 我是一名探鬼主播掘猿,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼唇跨!你這毒婦竟也來了稠通?” 一聲冷哼從身側(cè)響起衬衬,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎改橘,沒想到半個(gè)月后滋尉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡飞主,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年狮惜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碌识。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡碾篡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出筏餐,到底是詐尸還是另有隱情开泽,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布魁瞪,位于F島的核電站眼姐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏佩番。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一罢杉、第九天 我趴在偏房一處隱蔽的房頂上張望趟畏。 院中可真熱鬧,春花似錦滩租、人聲如沸赋秀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猎莲。三九已至,卻和暖如春技即,著一層夾襖步出監(jiān)牢的瞬間著洼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國打工而叼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留身笤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓葵陵,卻偏偏與公主長得像液荸,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子脱篙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349