3

scroll-view的scroll-into-view无效,在支付宝小程序里scroll-into-view随着点击事件而改变,但是就是不会滚动,代码如下:
<scroll-view scroll-y="true" style="height:100%;" scroll-into-view="{{scrollTopId}}" scroll-with-animation="true" enable-back-to-top="true">
查了好久,终于找到一篇有用的文章,是style中的height设置了100%导致的。由于微信小程序是用mpvue写的,height设置了100%还能滚动,所以一直没想到原生的会有不一样的效果。

以下内容转自http://blog.sina.com.cn/s/blo...

实际上,这里需要一些注意的地方:
scroll-view默认跟view是一样的,只是一个view容器,默认会随着内容大小自动改变大小。只有当你的scroll-view的大小,小于其内的内容时,才有机会实现真正的滚动。所以,你必须设置固定的宽高,如果不设置,那与滚动相关的功能都不会有。看似可以滚动,那个不是scroll-view的,而是window本身的滚动。造成了错觉。

既然如此,很多人设置了100%的高度,依然不行,这里必须设置固定的高度如400rpx之类的。不支持%单位。
不信你试试!

还有一些其他问题会导致scroll-into-view失效的情况,比如:

下面是显示list和滚动到list同时setdata,不会成功

this.setData({ showtype:
1, catlistHidden:true,toView: "defaultlist"});

你必须改成,先显示,然后再滚动,分两次折行setData

this.setData({ showtype:
1, catlistHidden:true});

this.setData({ toView:
"defaultlist"});//要先显示才能scroll-into,否则不会发生


hongzheng
95 声望3 粉丝