微信小程序 - scroll-view的scroll-into-view属性 - 在页面打开后滚动到指定的项


需求: 这是一个可横向滚动的导航条,现在要求我,从别的页面reLaunch回到首页这里,刷新页面内容的同时,菜单项要滚动出来
   (如果该菜单项不在可视区域),而不是让他被挡住。

代码:
<scroll-view class="nav-scroll" scroll-x="{{true}}" nenable-flex="{{true}}"
      scroll-into-view="{{toView}}" scroll-with-animation="{{true}}">

<view bindtap="changeCategory" wx:for="{{nav_menu}}" class="nav-tab"
        data-index="{{index}}" id="cate{{index}}">

<text class="{{menu_active==index ? 'active' : ''}}">{{item.name}}</text>
<view wx:if="{{menu_active == index}}" class="tab-line"></view>
</view>
</scroll-view>

--------------------------------------------------------
that.setData({
nav_menu: res.data,
},()=>{
that.setData({
toView: 'cate' + that.data.menu_active
})
});

尝试过在onLoad、onShow、onReady下重新赋值toView,但是始终不起作用。再后来...
幸亏看到了说数据(菜单列表)渲染未完成,导致打开页面滚动指定位置失败的原因,然后提供的办法是
使用setData的回调,棒呆!!!

众里寻解决办法于百度,那答案却在微信开放社区处...
https://developers.weixin.qq.com/community/develop/doc/0006e8383f4f906c4ac6fe01456804
 
posted @ 2019-11-27 22:00  Meiwah  阅读(1909)  评论(0编辑  收藏  举报