微信小程序获取文本宽度。进行显隐操作

肯定是动态数据,在拿到数据之后,先给数据一个控制显隐的值。

js 复制代码
            const query = wx.createSelectorQuery();
            let containerWidth;
            // 大容器宽高永远都不会动,所以只取一个
            query.select(".no_info_cause").boundingClientRect(containerRect=>{  // 大容器
              console.log('containerRect.width', containerRect.width);
              containerWidth = containerRect.width;
            });
            // 动态拿的值根据内容撑开宽高,所以需要动态拿取所有的。
            query.selectAll("#myContainer").boundingClientRect(rects=>{ // 文字容器
              console.log("rect", rects, containerWidth);
              rects.forEach((item, index) => {
                if (item.width > containerWidth) {
                  that.data.couponListBu.forEach((_, i) => {
                    that.data.couponListBu[index].isShow = true;
                  })
                  console.log('文本超出了容器', that.data.couponListBu[index].isShow);
                } else {
                  that.data.couponListBu.forEach((_, i) => {
                    that.data.couponListBu[index].isShow = false;
                  })
                  console.log('文本没有超出容器', that.data.couponListBu[index].isShow);
                }
              });
            }).exec();
            // 拿不到值所以用了定时器,有大神知道的可以教一下。
            setTimeout(() => {
              that.setData({
                couponListBu: that.data.couponListBu
              })
            }, 300);
html 复制代码
<view class="no_info">
<!-- 不可用原因:<text>{{item.reason}}</text> -->
  <view class="no_info_cause">
  <!-- <text>不可用原因:</text> -->
    <text class="no_info_content_overflow" id="myContainer">
      <text id="myText">
        <text class="no_info_cause_one">不可用原因:</text>{{item.reason}}
      </text>
    </text>
  </view>
  <!-- <view class="no_info_content"wx:if="{{ itemisShow }}">{{item.reason}}</view> -->
  <view class="no_info_image">
    <image wx:if="{{ item.isShow }}" src="../../images/coupon/down.png" mode="" bindtap="onClickIsShow" />
    <!-- <image wx:if="{{ item.isShow }}" src="../../images/coupon/up.png" mode="" bindtap="onClickIsShowCause" /> -->
  </view>
</view>
相关推荐
万亿少女的梦16812 分钟前
基于微信小程序、Spring Boot与Vue3的智慧养老管理系统设计与实现
spring boot·redis·微信小程序·mybatis·vue3
万岳科技系统开发37 分钟前
智慧医院小程序开发满足医疗机构多场景服务需求
数据库·学习·小程序
硬核科技牛1 小时前
AI生成的小程序,数据能导出换平台吗
小程序·apache
alxraves1 天前
零代码AI助手:用大模型自动生成微信小程序界面与逻辑
人工智能·微信小程序·notepad++
秃头披风侠_郑1 天前
【uniapp】一文让你学会微信小程序+APP+H5全平台实战指南
前端·微信小程序·uni-app
mykj15511 天前
不止简单下单,代驾小程序系统打造完整智慧出行服务
小程序·代驾小程序开发·代驾小程序定制·代驾app软件
從南走到北1 天前
JAVA无人共享系统无人场馆预约篮球系统源码支持小程序+公众号+APP+H5
java·开发语言·小程序
码农学院1 天前
基于小程序云开发与Node.js的餐饮行业AI优化方案:智能推荐与订单预测实战
人工智能·小程序·node.js
爱勇宝2 天前
一个家庭成长小程序的 MVP 复盘:看到用户在用我很欣慰
微信小程序·产品·设计
mykj15512 天前
教培机构考公刷题小程序系统开发,降本增效稳续费
小程序·考公刷题小程序·刷题app开发