swiper这个东西真的好烦人!他的swiper-item会有个固定150px的高度还要超出隐藏!!!要是没这个玩意根本不会出这么多问题
问题描述
我在开发小程序的时候有个点击返回顶部的需求,我本来就么有很在意这不就是改个滚动条高度吗!小问题 真的到开发的时候我发现我封装的有问题,我给大家看一下我的结构
<swiper>
<swiper-item>内容</swiper-item>
<swiper-item></swiper-item>
<swiper-item></swiper-item>
<swiper-item></swiper-item>
<swiper-item></swiper-item>
</swiper>
//内容
<view>
<view>轮播</view>
<view>滚动列表,这还是个组件</view>
</view>
大致项目结构就是这样,然后就遇到了问题,因为swiper-item有固定高度我们需要给他顶掉,一般都设置100vh,然后我刚开始设置的超出了导致他会有一个滚动条,但是那个滚动条不会触发,我去使用
wx.pageScrollTo
的时候,他没有效果!!!!
没有效果的原因是按照我的结构来说哈,我是在内容里面写的
wx.pageScrollTo
方法,这个内容的组件,必须设置overflow: visible
这个属性,而且必须是在这个组件内部设置,外面传进来的都不行 然后wx.pageScrollTo
方法才会生效,然后你仔细观察就会发现,他触发的是他父组件的滚动条的高度,而不是我们所想的子组件的,对他会触发父组件我始终没想明白是为啥,最终解决的方案是将父组件的高度用css的计算设置成既没有滚动条,又能覆盖全屏的,我最后设置成了100vh * 0.9
解决了这个问题