vue 文本超过2行展示更多:列表做法、单个文本做法,面试精选题

content:“-1听模块新增“文章难度分析”功能,为你分析文章中词汇、语速等难度,推荐;-听模块新增“文章难度分析”功能,为你分析文章中词汇、语速等难度,推荐”,

historyList: [

{

version: “7.1.4”,

title: “本次更新”,

content:

“-2听模块新增“文章难度分析”功能,为你分析文章中词汇、语速等难度,推荐;-听模块新增“文章难度分析”功能,为你分析文章中词汇、语速等难度,推荐”,

time: “2周前”,

},

],

};

},

components: {

},

mounted() {

this.historyList.forEach((ele, index) => {

this.$set( this.historyList, index, Object.assign({}, ele, { status: null }) );

});

// DOM 加载完执行

this.$nextTick(() => {

this.calculateText();

//console.log(this.historyList)

});

window.onresize = () => {

this.historyList.forEach((ele, index) => {

this.$set(

this.historyList,

index,

Object.assign({}, ele, { status: null })

);

});

setTimeout(() => {

this.calculateText();

}, 0);

};

},

methods: {

// 计算文字 显示展开 收起

calculateText() {

// 获取一行文字的height 计算当前文字比较列表文字

let oneHeight = this.$refs.more.scrollHeight;

let twoHeight = oneHeight * 2 || 40;

this.textHeight = ${twoHeight}px;

let txtDom = this.$refs.textContainer;

for (let i = 0; i < txtDom.length; i++) {

let curHeight = txtDom[i].offsetHeight;

if (curHeight > twoHeight) {

this.$set(

this.historyList,

i,

Object.assign({}, this.historyList[i], { status: true })

);

} else {

this.$set(

this.historyList,

i,

Object.assign({}, this.historyList[i], { status: null })

);

}

}

},

more(index) {

this.historyList[index].status = !this.historyList[index].status;

},

},

};


单个div 里面超出2行显示更多


less、vue-cli3.0
占位不可删除

class=“text2”

ref=“textContainer2”

:class=“{ retract2: testObj }”

:style=“{ ‘max-height’: testObj ? textHeight2 : ‘’ }”

{{ name }}

<span v-if=“testObj” class=“link2” @click=“moreBtn()”>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值