内容过长显示省略号,点击展开收起

<view v-if="video.comment.length>20" @click="lookAll(video)">
	<view v-if="copenList.findIndex(it=>it.id==video.id)==-1" class="u-flex">
		<view class="comment_not_all">评论:{{video.comment}}</view>
		<view style="color: #0084bf;">
			展开
		</view>
	</view>
	<view v-else>
		<view v-for="(flag,iii) in copenList" :key="iii" v-if="flag.id==video.id"
			:class="flag.open==0?'u-flex':''">
			<view :class="flag.open==0?'comment_not_all':'comment_all'">评论:{{video.comment}}
			</view>
			<view class="u-flex u-row-right" style="color: #0084bf;">
				{{flag.open==0?'展开':'收起'}}
			</view>
		</view>
	</view>
</view>
<view v-else>
	<view class="comment">评论:{{video.comment}}</view>
</view>
.comment {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	// white-space: w;
}

.comment_not_all {
	width: 600rpx;
	overflow: hidden;
	text-overflow: ellipsis;
}

.comment_all {
	white-space: normal;
	word-break: break-all;
	word-wrap: break-word;
}

 

lookAll(item) {
	let index = this.copenList.findIndex(it => it.id == item.id)
	if (index == -1) {
		let id = item.id
		let obj = {
			id: item.id,
			open: 1
		}
		this.copenList.push(obj)
	} else {
		let value = this.copenList[index].open
		let nvalue = value == 0 ? 1 : 0
		this.copenList[index].open = nvalue
	}

}

外层v-if(v-if="video.comment.length>20"):

判断文本内容长短有没有超过20,如果为false直接显示全部内容

第二个v-if (v-if="copenList.findIndex(it=>it.id==video.id)==-1") 判断copenList(用于存储点击过的文本)是否有该条数据,若没有点击过则显示部分内容(样式comment_not_all)、文字“展开”;若点击过则遍历copenList列表查询对应数据;


函数lookAll 点击文本内容时调用,判断是否已存在,不存在则将该条数据添加到copenList,

存在则更改当前的状态:0--收起,1--展开,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值