解决微信小程序recycle-view使用百分比单位控制宽高时出现的内容溢出问题

这篇具有很好参考价值的文章主要介绍了解决微信小程序recycle-view使用百分比单位控制宽高时出现的内容溢出问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

recycle-view是微信小程序官方推出的一个经过优化的长列表组件,但是在使用百分比单位控制高宽时有个内容溢出问题,虽然它提供了height和width的参数可以设置宽高,但每次写列表都需要去js里获取宽高并设置是较为麻烦的,所以现在来着手解决使用百分比单位设置宽度时碰到的内容溢出问题。

先看看问题怎么复现:

1.先添加组件依赖:

{
  "usingComponents": {
    "recycle-view": "miniprogram-recycle-view/recycle-view",
    "recycle-item": "miniprogram-recycle-view/recycle-item"
  }
}

2.编写wxml:

<view id="root" style="height: 100%;">
  <view style="height:50%;width: 100%;background-color: blue;">
    <recycle-view batch="{{batchSetRecycleData}}" id="recycleId">
      <recycle-item wx:for="{{1000}}" wx:key="id">
        <view style="width: 100px;height: 100px;">
          1234
        </view>
      </recycle-item>
    </recycle-view>
  </view>
</view>

wxss:

page {
  width: 100%;
  height: 100%;
}

3.查看界面

小程序recycle-view,微信小程序,小程序

4.现在来说一下问题,首先是界面显示了一个基于recycleview的列表,然后他的父元素我给他设置了height:50%,按理来说这个列表的区域也应该是Page内容区域高度的50%,也就是和蓝色区域重合,但是他现在内容溢出了

这明显是不合理的,接下来是修复

1.打开miniprogram_npm/miniprogram-recycle-view/recycle-view.wxml,编辑最外层的view的style,直接改为height:100%;width:100%

<!--components/recycle-view/recycle-view.wxml-->
<view bindtouchstart='_beginToScroll' style="height:100%;width:100%;" id="content" class="wrap">
  <scroll-view bindscroll="_scrollViewDidScroll" class="content" style='height:100%;position: relative;' scroll-y="{{useInPage ? false : scrollY}}" scroll-x="{{false}}" upper-threshold="{{upperThreshold}}" lower-threshold="{{lowerThreshold}}" scroll-top="{{innerScrollTop}}" scroll-into-view="{{innerScrollIntoView}}" scroll-with-animation="{{scrollWithAnimation}}" bindscrolltoupper="_scrollToUpper" bindscrolltolower="_scrollToLower" scroll-anchoring enable-back-to-top="{{enableBackToTop}}" throttle="{{throttle}}">
    <view style="position: absolute;z-index:1;width:100%;left: 0;top: 0;opacity: 0;visibility: hidden;">
      <slot name="itemsize"></slot>
    </view>
    <view style="height:{{hasBeforeSlotHeight ? beforeSlotHeight + 'px' : 'auto'}}" class="slot-before">
      <slot name="before"></slot>
    </view>
    <view style='position:relative;width:100%;z-index:10;background: url("{{placeholderImageStr}}") repeat;height:{{totalHeight}}px;'>
      <!-- <view class='before' style="height:{{innerBeforeHeight}}px"></view> -->
      <view style="position: absolute;left:0;width:100%;top:{{innerBeforeHeight}}px;">
        <slot></slot>
      </view>
      <!-- <view class='after' style="height:{{innerAfterHeight}}px"></view> -->
    </view>
    <view style="height:{{hasAfterSlotHeight ? afterSlotHeight + 'px' : 'auto'}}" class="slot-after">
      <slot name="after"></slot>
    </view>
  </scroll-view>
</view>

2.打开miniprogram_npm/miniprogram-recycle-view/recycle-view.wxss,将:host{}删除或者注释

/* components/recycle-view/recycle-view.wxss */
/* :host {
  display: block;
  width: 100%;
} */

3.运行看看效果:

小程序recycle-view,微信小程序,小程序

内容不溢出了,而且滚动效果也正常。

微信小程序代码片段(这里只是复现该问题的例子,还需要手动安装recycleview依赖和按照上面的流程修改代码):https://developers.weixin.qq.com/s/J3TFLYmQ71K1文章来源地址https://www.toymoban.com/news/detail-774841.html

到了这里,关于解决微信小程序recycle-view使用百分比单位控制宽高时出现的内容溢出问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序】scroll-view的基本使用

    |  scss里面的 .item:nth-child(1) index.wxml index.scss

    2024年02月07日
    浏览(28)
  • 关于微信小程序<web-view>组件跳转报错问题-解决!

    报错以上的问题 尝试了好久--发现的问题-官网上文章看完了也没有看到   当点击 itemClick1 的时候 就报以上的 错误 当点击 itemClick2 的时候就能成功 跳转 原因是:  itemClick1和当前跳转的位置是同级,应该是web-view组件不能跳转到同级以外的地方! 总结:  所有想要使用 web-view 组

    2024年02月16日
    浏览(41)
  • [微信小程序] scroll-view组件下拉刷新,怎样结束刷新(已解决)

    官方文档:scroll-view | 微信开放文档 (qq.com) 这里就不赘述scroll-view的基本使用方法了,先看问题:  代码:  由于在官方文档中并没有详细说明如何在刷新完成之后关闭刷新,这里我给出的解决办法就是,给组件绑定一个刷新数据,然后在触发下拉刷新的函数中手动将数据改

    2024年01月20日
    浏览(46)
  • 微信小程序之scroll-view自适配屏幕高度解决方案

    需求说明: 一般用于列表数据的展示(带有搜索框),根据官方文档,scroll-view需要固定一个高度,那么,对于不同的手机分辨率来说,可能显示的效果就不一样了,有的没到底,有的显示不全等等 解决方案:   不同的手机,但是可以通过计算,获取到scroll-view的填充高度。

    2024年02月12日
    浏览(47)
  • 微信小程序组件scroll-view滚动到底部多次触发加载如何解决?

    在 iOS 真机上,scroll-view 滚动时会多次触发 scrolltolower 事件的问题,可以设置一个“加载标识”(如 DisableTrigger)来避免重复请求下一页数据。具体做法为: 在 data 中新增一个 DisableTrigger 变量,用于标识当前是否可以执行下一页数据的加载操作。 在 init()方法中,在请求数据

    2024年02月13日
    浏览(35)
  • 微信小程序 scroll-view组件的基本使用

     scroll-view 组件 其实和view组件很像,结合上节课的内容我们接着尝试教大家一下这个组件怎么使用,现实中这个组件能实现的效果又有那些  上图是CSDN的一个私聊窗口界面,我么看图就能想象的到,左边的聊天对像窗口是不是可以滚动的,这时候小程序就可以通过scroll-vie

    2024年02月01日
    浏览(42)
  • 微信小程序中block和View组件的使用区别

    在微信小程序中,block和View组件都是用于布局的组件,但它们在使用方式和功能上有一些区别。 1. Block组件:    - Block组件是一个无实际显示效果的组件,它主要用于包裹一组组件,并提供了类似于div的作用。    - 使用Block组件可以将一组组件进行分组,便于样式的管理和

    2024年02月04日
    浏览(50)
  • 微信小程序web-view上覆盖原生组件,解决cover-view点击事件无法触发问题

    结合了以下文章,都没有找到办法 https://blog.csdn.net/WEIGUO19951107/article/details/94305964 https://blog.csdn.net/weixin_39461487/article/details/80075140 https://developers.weixin.qq.com/community/develop/doc/cbd33199b42aec724e54419ebe6371d7 图片显示是这个文章给我了参考,并且成功 https://blog.csdn.net/one_girl/article/deta

    2024年02月11日
    浏览(42)
  • uniapp/微信小程序 scroll-view 设置scroll-x 失效问题解决

    实现一个横向滑动的scrollview,直接给scroll-view设置 scroll-x ,但是并没有实现想药实现横向滑动的效果,先看代码 仔细看了官网后发现有这样一句话, 然而加上也并没有实现,直接说解决方案吧! 使用横向滚动时,不仅仅需要给 scroll-view 添加 white-space: nowrap; 样式,还要给他

    2024年02月16日
    浏览(34)
  • 使用web-view在微信小程序中显示网页

    比如要在小程序中显示《用户协议》《隐私政策》等网页内容,可以直接用web-view显示 如下代码所示 打开的页面标题显示的是网页的标题,也就是title标题/title标签中的内容 最后,记得在小程序后台开发管理中添加业务域名,把要访问的网址添加到业务域名中,否则小程序发

    2024年02月15日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包