vue element-ul實(shí)現(xiàn)展開(kāi)和收起功能的實(shí)例代碼
實(shí)現(xiàn)效果如下:


需求:
由于后臺(tái)搜索選項(xiàng)有很多,影響頁(yè)面美觀,所以一進(jìn)來(lái)要隱藏一部分搜索項(xiàng),只保留1行,
點(diǎn)擊【展開(kāi)搜索】按鈕的時(shí)候才顯示全部,點(diǎn)擊【收起搜索】按鈕又收起部分,保留1行。
需求分析:
由于不太好控制行數(shù),因?yàn)椴煌聊怀叽缯故镜?行的內(nèi)容并不相同(不考慮移動(dòng)端),所以考慮用顯示高度來(lái)控制。
解決思路:
所以這里通過(guò)控制搜索區(qū)域的高度來(lái)實(shí)現(xiàn)展開(kāi)和收起搜索功能。
頁(yè)面一進(jìn)來(lái)是收起搜索狀態(tài),控制搜索區(qū)域的高度為120px,超出部分隱藏。
點(diǎn)擊展開(kāi)搜索的時(shí)候,調(diào)整搜索區(qū)域的高度為”auto"
定義變量:showAll控制狀態(tài)
代碼解析:
<el-button type="text" style="margin-left:10px" id="closeSearchBtn" @click="closeSearch">
{{word}}
<i :class="showAll ? 'el-icon-arrow-up ': 'el-icon-arrow-down'"></i>
</el-button>當(dāng)showAll為false的時(shí)候,即搜索區(qū)域處于收起狀態(tài),此時(shí)將按鈕文字變?yōu)?ldquo;展開(kāi)搜索”,圖標(biāo)變?yōu)橄蛳拢╡l-icon-arrow-down)
當(dāng)showAll為ture的時(shí)候,即搜索區(qū)域全部展開(kāi)了,將按鈕文字變成“收起搜索”,圖標(biāo)變成向上(el-icon-arrow-up)
data(){
return{
showAll:true;//是否展開(kāi)全部
}
}
computed: {
word: function() {
if (this.showAll == false) {
//對(duì)文字進(jìn)行處理
return "展開(kāi)搜索";
} else {
return "收起搜索";
}
}
},mounted()里調(diào)用closeSearch函數(shù),頁(yè)面一進(jìn)來(lái)將this.showAll設(shè)為false,即處于收起狀態(tài)。所以data里最初給showAll定義的時(shí)候設(shè)為true.
給搜索區(qū)域的ID設(shè)為“searchBox” ,
當(dāng)showAll為false的時(shí)候,設(shè)置搜索區(qū)域高度為120px,否則高度自動(dòng)。
mounted() {
/**
* 收起搜索
*/
this.$nextTick(function() {
this.closeSearch();
});
},
methods:{
closeSearch() {
this.showAll = !this.showAll;
var searchBoxHeght = document.getElementById("searchBox");
if (this.showAll == false) {
searchBoxHeght.style.height = 60 + "px";
} else {
searchBoxHeght.style.height = "auto";
}
}
}CSS中關(guān)鍵的設(shè)置不要忘記。
#searchBox {
overflow: hidden;
}新方法:
html:
:style="{
height: showMoreSearch
? `${searchboxHeight - searchboxOtherHeight}px`
: `${searchboxDefaultHeight}px`
}"> <el-button
class="more-arrow"
type="text"
title="更多查詢(xún)條件"
@click="toggleSearch(1)">
{{ searchTitle }}
<i class="el-icon-arrow-down more-arrow"></i>
</el-button>data:
showMore: false, // 是否下拉顯示更多
searchTitle: "顯示全部"methods:
// 顯示更多(rows為下拉的行數(shù),根據(jù)下拉行數(shù)計(jì)算高度)
toggleSearch (rows = 1) {
this.showMoreSearch = !this.showMoreSearch;
this.searchTitle = this.showMoreSearch ? "收起" : "顯示全部";
this.searchboxHeight = this.showMoreSearch ? rows * 64 + 200 : 200;
},到此這篇關(guān)于vue +elementUl實(shí)現(xiàn)展開(kāi)和收起搜索功能的文章就介紹到這了,更多相關(guān)vue +elementUl展開(kāi)和收起內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue控制多行文字展開(kāi)收起的實(shí)現(xiàn)示例
- Vue 中文本內(nèi)容超出規(guī)定行數(shù)后展開(kāi)收起的處理的實(shí)現(xiàn)方法
- vue 點(diǎn)擊展開(kāi)顯示更多(點(diǎn)擊收起部分隱藏)
- vue.js 實(shí)現(xiàn)點(diǎn)擊展開(kāi)收起動(dòng)畫(huà)效果
- 基于vue展開(kāi)收起動(dòng)畫(huà)的示例代碼
- vue實(shí)現(xiàn)點(diǎn)擊展開(kāi)點(diǎn)擊收起效果
- vue和react等項(xiàng)目中更簡(jiǎn)單的實(shí)現(xiàn)展開(kāi)收起更多等效果示例
- Vue實(shí)現(xiàn)文本展開(kāi)收起功能
相關(guān)文章
vue使用多級(jí)彈窗(Dialog)出現(xiàn)蒙版遮罩問(wèn)題及解決
這篇文章主要介紹了vue使用多級(jí)彈窗(Dialog)出現(xiàn)蒙版遮罩問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
vue項(xiàng)目打包成桌面快捷方式(electron)的方法
本文主要介紹了vue項(xiàng)目打包成桌面快捷方式(electron)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
基于vue+echarts實(shí)現(xiàn)柱狀圖漸變色效果(每個(gè)柱子顏色不同)
前段時(shí)間的vue項(xiàng)目中用到了echarts柱狀圖,由于UI設(shè)計(jì)稿中要求使用漸變色,并且每個(gè)柱子的顏色不同,于是做了一番研究,現(xiàn)將我的實(shí)現(xiàn)方案分享如下2024-05-05
Vue2.0學(xué)習(xí)之詳解Vue 組件及父子組件通信
本篇文章主要介紹了Vue2.0學(xué)習(xí)之詳解Vue 組件及父子組件通信,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
Vue?3?中動(dòng)態(tài)賦值?ref?的應(yīng)用示例解析
Vue3引入了Composition?API,其中ref是核心概念,允許開(kāi)發(fā)者聲明響應(yīng)式狀態(tài),本文通過(guò)一個(gè)具體示例,探討了在Vue3中如何使用ref進(jìn)行動(dòng)態(tài)賦值,尤其是在處理DOM相關(guān)操作時(shí)的應(yīng)用,通過(guò)ref動(dòng)態(tài)賦值,可以有效管理組件內(nèi)的狀態(tài),提高代碼的可維護(hù)性和清晰度2024-09-09
vue踩坑記-在項(xiàng)目中安裝依賴(lài)模塊npm install報(bào)錯(cuò)
這篇文章主要介紹了vue踩坑記-在項(xiàng)目中安裝依賴(lài)模塊npm install報(bào)錯(cuò),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

