Taro多行文本最多展示5行,超出“查看更多”展示,点击弹层

Taro中,页面需求:

多行文本,展示最多展示5行,超出5行,展示"查看更多"按钮,点击弹层展示文本详细信息。

弹层代码就不说了,着重说一下怎么获取区域高度~

1.区域设置max-height,用于控制展示区域,最多5行

2.文本区域设置id名称,通过createSelectorQuery方法获取区域高度

3.文本设置line-height高度,乘以5

4.超出则说明文本展示已高于5行

bash 复制代码
initPageHeight = () => {
    setTimeout(() => {
      if (process.env.TARO_ENV === 'weapp') {
        createSelectorQuery()
          .select('#ruleText')
          .boundingClientRect((res) => {
            if (res) {
              const lineHeight = getPx(36);
              //默认展示5行,点击查看更多
              this.setState({ showMore: res.height > lineHeight * 5 });
            } else {
              this.initPageHeight();
            }
          })
          .exec();
      } else if (process.env.TARO_ENV === 'alipay') {
        const query = createSelectorQuery();
        query.select('#ruleText').boundingClientRect();
        query.exec((res) => {
          const height = res?.[0]?.height;
          if (height) {
            const lineHeight = getPx(36);
            this.setState({ showMore: res.height > lineHeight * 5 });
          }
        });
      }
    }, 400);
  };

示例图如下

相关推荐
ptc学习者4 分钟前
oracle 列的直方图
数据库·sql·mysql
用户21411832636027 分钟前
Google Nano Banana Pro图像生成王者归来
前端
文心快码BaiduComate19 分钟前
下周感恩节!文心快码助力感恩节抽奖页快速开发
前端·后端·程序员
_小九20 分钟前
【开源】耗时数月、我开发了一款功能全面的AI图床
前端·后端·图片资源
饺子大魔王的男人21 分钟前
3D 打印总盯着机器?OctoPrint + cpolar让远程操控变简单
数据库·postgresql
a***976833 分钟前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
恋猫de小郭39 分钟前
聊一聊 Gemini3、 AntiGravity 和 Nano Banana Pro 的体验和问题
前端·aigc·gemini
一 乐1 小时前
英语学习激励|基于java+vue的英语学习交流平台系统小程序(源码+数据库+文档)
java·前端·数据库·vue.js·学习·小程序
淡淡蓝蓝1 小时前
uni.uploadFile使用PUT方法上传图片
开发语言·前端·javascript
也许是_1 小时前
MySQL与PostgreSQL深度对比
数据库·mysql·postgresql