Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tabs的sticky属性 滑动到顶部后切换tab 会回滚到原来位置 #1867

Closed
heda20 opened this issue Aug 15, 2019 · 25 comments · Fixed by #3866
Closed

tabs的sticky属性 滑动到顶部后切换tab 会回滚到原来位置 #1867

heda20 opened this issue Aug 15, 2019 · 25 comments · Fixed by #3866
Labels

Comments

@heda20
Copy link

heda20 commented Aug 15, 2019

描述一下问题
tabs的sticky属性 滑动到顶部后切换tab 会回滚到原来位置,而不是继续固定在顶部

截图(不能放gif 图只能放链接)
https://wx3.sinaimg.cn/mw690/006T30vygy1g60drlxl13g30au0iiu0z.gif
[环境]

设备: 小米8SE
基础库版本: 2.8.0
Vant Weapp 版本: 0.5.7

@heda20
Copy link
Author

heda20 commented Aug 15, 2019

gif
vant Weapp版本:0.5.17

@MagicHacker
Copy link

请问这个问题已经解决了吗?

@badjone
Copy link

badjone commented Sep 10, 2019

我这里是切换tab,到了底部
image

@badjone
Copy link

badjone commented Sep 10, 2019

是不是这里的关系

@MagicHacker
Copy link

当从长列表切换到短的列表时就会切换到底部,而且每次都是到了底部的同一个位置

@xiaodongning
Copy link

当从长列表切换到短的列表时就会切换到底部,而且每次都是到了底部的同一个位置
我也遇到这个问题

@lovefeng0709
Copy link

这个bug很难受,利用sticky吸顶后,切换tab会回滚到原来位置,而不是继续固定在顶部,而且还有页面其他元素的闪动。难受!

@lovefeng0709
Copy link

我发现 吸顶后 我从右边往左边点不会出BUG,但是只要你从左往右点就会出BUG,开始默认展示都是索引为0的数据,我把它点到最后一个索引号,这次他会出bug回到原来位置(因为是从左往右的)。当我从最后一个往左点时就不会出bug。难道是组件在做逻辑时没写好吗?

@Danfengzhou
Copy link

gif
vant Weapp版本:0.5.17

这个bug解决了嘛?

@Danfengzhou
Copy link

我发现 吸顶后 我从右边往左边点不会出BUG,但是只要你从左往右点就会出BUG,开始默认展示都是索引为0的数据,我把它点到最后一个索引号,这次他会出bug回到原来位置(因为是从左往右的)。当我从最后一个往左点时就不会出bug。难道是组件在做逻辑时没写好吗?

解决没有?这个问题

@rex-zsd
Copy link
Collaborator

rex-zsd commented Nov 14, 2019

暂时无解,因为切换的时候目标tab的content还未渲染,高度为0,导致页面自动上滑。

@homeabc
Copy link

homeabc commented Dec 6, 2019

描述一下问题
tabs的sticky属性 滑动到顶部后切换tab 会回滚到原来位置,而不是继续固定在顶部

截图(不能放gif 图只能放链接)
https://wx3.sinaimg.cn/mw690/006T30vygy1g60drlxl13g30au0iiu0z.gif
[环境]

设备: 小米8SE
基础库版本: 2.8.0
Vant Weapp 版本: 0.5.7

不知道你可解决了。我现在也是这种问题。很难受

@heda20
Copy link
Author

heda20 commented Dec 6, 2019 via email

@ling317
Copy link

ling317 commented Apr 16, 2020

关于各位在微信小程序中长短列表切换时标签栏滚动到底部的问题,解决思路如下:

1.wxml

<van-tabs sticky animated bindchange="bindChange"> <block wx:for="{{list}}" wx:key="index"> <van-tab title="{{item.title}}" class="{{tabActiveIndex==index?'tab-active':'tab-inactive'}}" >{{item.text}}</van-tab> </block> </van-tabs>

2.js

data: { list:[{ title:"标签1", text:"内容1" },{ title:"标签2", text:"内容2" }], tabActiveIndex: 0, }, bindChange: function(e) { const index = e.detail.index; let that = this; wx.nextTick(function () { that.setData({ tabActiveIndex: index, }) }) },

3.wxss

.tab-active .van-tab__pane--inactive { height: auto; } .tab-inactive .van-tab__pane--inactive { height: 0; }
按以上步骤就可以解决。
今天遇到这个问题搞了一下午,刚刚才解决。

有用请点赞。

对于各个tab滚动相对独立的情况,需要去判断sticky模式中是否置顶isFixed,在对容器高度修改为固定高度,只提供思路。

@rex-zsd
Copy link
Collaborator

rex-zsd commented Apr 18, 2020

后续开启sticky时,点击切换tab,会自动滚动到tabs顶部,跟 vant 保持一致。

@afishhhhh
Copy link

这个问题还在诶,长列表换到短列表,就到底部去了,然后就跟着页面一起滚动了。。。

@Galileo01
Copy link

在遇到上诉bug之后,尝试自己实现一个tabs 之后,发现自己实现的tabs也存在这个bug,所以个人认为有一份小程序本身的问题,一部分原因是:当切换tab之后,tab的内容不足以撑开页面达到滚动,那么页面就会自动滚到最顶端,我的解决方法是让tab的内容加上页面其他内容的内容始终大于页面高度,就会始终可以滚动,比如 设置height:100vh这样内容区域就始终可以滚动了

@Galileo01
Copy link

暂时无解,因为切换的时候目标tab的content还未渲染,高度为0,导致页面自动上滑。

我的想法是保证页面可以滚动,至少在吸顶的时候,方法就是在设置tab区域高度为100vh

@gzggithub
Copy link


刷新页面 会出现吸顶?????
image

image

@liguoliangiOS
Copy link

van-tabs在sticky状态下 滚动到导航栏下悬停后,在部分华为和小米机型上,下拉页面标题栏不会下来。
WeChat99cf7b9fcc841992537e6b99257d4043

@zuonidelaowang
Copy link

我发现 吸顶后 我从右边往左边点不会出BUG,但是只要你从左往右点就会出BUG,开始默认展示都是索引为0的数据,我把它点到最后一个索引号,这次他会出bug回到原来位置(因为是从左往右的)。当我从最后一个往左点时就不会出bug。难道是组件在做逻辑时没写好吗?

解决没有?这个问题
解决了吗?

@ChinaGc
Copy link

ChinaGc commented Dec 26, 2021

我其实有个思路 就是给滚动内容一个min-height,这里的min-height就是让sticky吸顶的最小高度,就可以完美实现

@liguoliangiOS
Copy link

liguoliangiOS commented Dec 26, 2021 via email

@callmesoul
Copy link

需要自己去记录滚动高度,然后切换的时候用wx.pageScrollTo去返回高度

@liguoliangiOS
Copy link

liguoliangiOS commented Oct 17, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.