小程序实现文本过长展开收起操作

文章介绍了如何优化小程序中的文本展开与折叠功能,通过同时渲染完整和省略的文本节点,利用透明度和定位来处理,再借助uni.createSelectorQuery获取节点实际高度,判断是否超过预设行数来决定是否显示折叠按钮。
摘要由CSDN通过智能技术生成

前言

最近做小程序里面一个文本的展开与折叠功能 最开始是不管文本有没有超出都会把折叠按钮展示出来感觉很不优雅所以就是优化 主要用到一个小程序操作节点的方法
实现步骤:同时渲染两个节点一个是完整的文本节点一个是展示省略的文本节点
然后将完整的文本节点设置未透明然后在设置一个定位 让他脱离文档流
然后使用小程序createSelectorQuery 方法来获取实际节点的高度 如果高度超出了预定的行数高度这展示按钮否则隐藏按钮


一、实现代码

data() {
	return {
		//控制折叠与隐藏的
		showAllFlag: true,
		// 控制按钮是否展示
		isShowBtn: false
	}
},


let query = uni.createSelectorQuery();
query.select(`#sub-desc-content2`).boundingClientRect(rect=>{
		if(rect.height >= 40) {
			this.isShowBtn = true
		}else {
			this.isShowBtn = false
		}
	}).exec();

在这里插入图片描述

实现逻辑就是这样 代码大致也是这样 也算是实现曲线救国了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值