欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vuejs數(shù)據(jù)超出單行顯示更多,點擊展開剩余數(shù)據(jù)實例

 更新時間:2019年05月05日 10:56:58   作者:ygy211715  
這篇文章主要介紹了vuejs數(shù)據(jù)超出單行顯示更多,點擊展開剩余數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

說下我在工作中遇到的這個需求

1:頁面上的菜單選項,選項內(nèi)容是后臺接口返回的數(shù)據(jù),現(xiàn)在的需求是當選項的內(nèi)容超出一行,在這行的右面顯示更多,點擊更多,顯示剩下的選項的內(nèi)容

看下效果圖

這是展開的效果圖

 

下面先看下我的html部分代碼

<div :class="bussinessType?'show':'hidde'">
					<dl>
						<dt>業(yè)務類型:</dt>
						<dd ref="bussinessTypeRef">
							<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" name="" 
							@click="getchildMenu($event)" class="active">全部</a>
							<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" :name="item.code" v-for="item in projectType" 
							@click="getchildMenu($event)">{{item.name}}</a>
						</dd>
						<i class="unfold" @click="bussinessType = !bussinessType" 
						v-show="bussinessHeight>40">
			            {{ bussinessType ? '收起' : '更多'}}
			            <Icon :type="bussinessType?'chevron-down':'chevron-up'" ></Icon>
	          </i>
					</dl>
				</div>

說下原理show就是展開的時候使用的樣式名稱,hide是顯示一行是使用的樣式(主要就是控制容器高度)

.show{
        height: auto;
        border-bottom: 1px solid #ebebeb;
    }
    .hidde{
        height: 40px;
        overflow: hidden;
        border-bottom: 1px solid #ebebeb;
    }

這是我展示的菜單的部分,主要的思路是看這部分的高度是不是超出一行的高度,如果是超出一行的高度,則讓dl外的div默認使用hide的樣式

那么問題來了,怎么知道展示菜單的dd部分的高度超出一行了呢?

這就需要使用vuejs的watch來實現(xiàn)了

首先,watch監(jiān)聽ref是bussinessTypeRef的組件的高度(內(nèi)容多的話自然dd容易會被撐高),這時候與一行的高度(我這里設置的是40)作比較,如果超出,就讓更多的文字按鈕顯示出來。下面是監(jiān)聽dd內(nèi)容高度的watch方法

 projectType: function () {
	      this.$nextTick(function(){
	        let cur = this.$refs['bussinessTypeRef'];
	        if(cur){
	        	this.bussinessHeight = cur.clientHeight;
	        }
	      });
	    },

這時候更多文字按鈕顯示,我們就控制dl外層的div容器,讓該容器使用hide的樣式,點擊更多的時候,讓控制顯示更多的變量變?yōu)橄喾吹闹?,這樣讓收起顯示出來,更多消失,同時讓外層的div容器使用show的樣式。這樣一來就實現(xiàn)了文字超出一行顯示更多,點擊收起的交互效果。

下面附上完整的代碼供參考

<div :class="bussinessType?'show':'hidde'">
					<dl>
						<dt>業(yè)務類型:</dt>
						<dd ref="bussinessTypeRef">
							<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" name="" 
							@click="getchildMenu($event)" class="active">全部</a>
							<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" :name="item.code" v-for="item in projectType" 
							@click="getchildMenu($event)">{{item.name}}</a>
						</dd>
						<i class="unfold" @click="bussinessType = !bussinessType" 
						v-show="bussinessHeight>40">
			            {{ bussinessType ? '收起' : '更多'}}
			            <Icon :type="bussinessType?'chevron-down':'chevron-up'" ></Icon>
	          </i>
					</dl>
				</div>
 
 
  // 行業(yè)
    businessType: function () {
      this.$nextTick(function(){
        let cur = this.$refs['industryRef'];
        if(cur){
        	this.industryHeight = cur.clientHeight;
        }
      });
    },
.show{
		height: auto;
		border-bottom: 1px solid #ebebeb;
	}
	.hidde{
		height: 40px;
		overflow: hidden;
		border-bottom: 1px solid #ebebeb;
	}
	.list-filter {
		position: relative;
		margin-bottom: 20px;
		font-size: 14px;
	}
	
	.list-filter dl {
		overflow: hidden;
	}
	
	.list-filter dt {
		float: left;
		font-weight: 400;
		height: 40px;
		line-height: 40px;
	}
	
	.list-filter dd {
		margin-left: 30px;
		float: left;
		width: 85%;
		line-height: 40px;
		
	}
	.unfold{
		font-size: 14px;
  color: #00A971;
  cursor: pointer;
  font-style: normal;
  vertical-align: middle;
  display: inline-block;
  height: 40px;
  line-height: 40px;
	}
	.list-filter a {
		color: #333;
		display: inline-block;
		margin-right: 20px;
		padding: 0 5px;
		text-decoration: none;
		line-height: 2em;
		z-index: 0;
	}

以上所述是小編給大家介紹的vuejs數(shù)據(jù)超出單行顯示更多,點擊展開剩余數(shù)據(jù)詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • 詳解vue2.0腳手架的webpack 配置文件分析

    詳解vue2.0腳手架的webpack 配置文件分析

    本篇文章主要介紹了詳解vue2.0腳手架的webpack 配置文件分析,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • vue.js如何將echarts封裝為組件一鍵使用詳解

    vue.js如何將echarts封裝為組件一鍵使用詳解

    Echarts 、 Remodal和Pikaday是我們在開發(fā)后臺管理類網(wǎng)站時常用的三個第三方組件,下面這篇文章主要給大家介紹了關于vue.js如何將echarts封裝為組件一鍵使用的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-10-10
  • vue3如何使用provide實現(xiàn)狀態(tài)管理詳解

    vue3如何使用provide實現(xiàn)狀態(tài)管理詳解

    Vue3中有一對新增的api,provide和inject,熟悉Vue2的朋友應該明,這篇文章主要給大家介紹了關于vue3如何使用provide實現(xiàn)狀態(tài)管理的相關資料,需要的朋友可以參考下
    2021-10-10
  • 簡易vuex4核心原理及實現(xiàn)源碼分析

    簡易vuex4核心原理及實現(xiàn)源碼分析

    這篇文章主要為大家介紹了簡易vuex4核心原理及實現(xiàn)源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Vue3?props的使用示例詳解

    Vue3?props的使用示例詳解

    這篇文章主要介紹了Vue3?props的使用詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • vue安裝less-loader依賴失敗問題及解決方案

    vue安裝less-loader依賴失敗問題及解決方案

    這篇文章主要介紹了vue安裝less-loader依賴失敗問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 使用Webstorm調(diào)試Vue代碼詳細圖文教程

    使用Webstorm調(diào)試Vue代碼詳細圖文教程

    WebStorm是一款優(yōu)秀的前端開發(fā)IDE,之前一直可以調(diào)試Vue項目,下面這篇文章主要給大家介紹了關于使用Webstorm調(diào)試Vue代碼的詳細圖文教程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2024-05-05
  • Vue axios獲取token臨時令牌封裝案例

    Vue axios獲取token臨時令牌封裝案例

    這篇文章主要介紹了Vue axios獲取token臨時令牌封裝案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue響應式更新機制及不使用框架實現(xiàn)簡單的數(shù)據(jù)雙向綁定問題

    vue響應式更新機制及不使用框架實現(xiàn)簡單的數(shù)據(jù)雙向綁定問題

    vue是一款具有響應式更新機制的框架,既可以實現(xiàn)單向數(shù)據(jù)流也可以實現(xiàn)數(shù)據(jù)的雙向綁定。這篇文章主要介紹了vue響應式更新機制及不使用框架實現(xiàn)簡單的數(shù)據(jù)雙向綁定問題,需要的朋友可以參考下
    2019-06-06
  • vue獲取data數(shù)據(jù)改變前后的值方法

    vue獲取data數(shù)據(jù)改變前后的值方法

    今天小編就為大家分享一篇vue獲取data數(shù)據(jù)改變前后的值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論