方法1:使用标签,可以将页面横向(或纵向)滚动到指定位置
无法滚动 将代码放在setTimeout,nextTick里执行
<!-- 左边 --> <scroll-view show-scrollbar="false" scroll-y="true" class="left-box" :scroll-top="scrollLeftTop" scroll-with-animation="true"> <view class="scroll-view-item" v-for="(item,index) in servicesLeftList" :key="item.id" :id="'scroll' + activeLeftTab" :class="{'active':activeLeftTab==item.id}"> {{item.name}} </view> </scroll-view>
data(){ return { servicesLeftList:[], scrollLeftTop:0,,//滚动位置 activeLeftTab:"" //选中的样式 } } getData() { //接口 getServicesTree().then(res => { this.servicesLeftList= res.data res.data.forEach((item, ind) => { setTimeout(()=>{ uni.createSelectorQuery().in(this).select('#scroll' + item.id) .boundingClientRect(res => { scrollLeftTop.value = 65 * ind; // 设置滚动条距离左侧的距离 }).exec() },100) }) }) }
方法二 使用uni.pageScrollTo 使页面纵向滚到到指定位置
建议设置height为auto :height:auto
<view class="left-box" > <view class="scroll-view-item" v-for="(item,index) in servicesLeftList" :key="item.id" :class="{'active':activeLeftTab==item.id}"> {{item.name}} </view> </view> //方法 uni.pageScrollTo({ scrollTop: 0, duration: 500 });
方法三 用scroll-view描点
//左边 :scroll-top="scrollLeftTop" <scroll-view scroll-y="true" class="left-box" scroll-with-animation="true" :scroll-into-view="tracingLeftPoint"> <view class="scroll-view-item" v-for="(item,index) in servicesLeftList" :key="item.id" :id="'scroll' + item.id" :class="{'active':activeLeftTab==item.id}"> {{item.name}} </view> </scroll-view> //方法 data(){ retrun { tracingLeftPoint:"",//描点id } } getData() { //接口 getServicesTree().then(res => { this.servicesLeftList= res.data res.data.forEach((item, ind) => { setTimeout(()=>{ this.tracingLeftPoint= 'scroll' + item.id },200) }) }) }
到此这篇关于uni-app 滚动到指定位置的文章就介绍到这了,更多相关uni-app 滚动到指定位置内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » uni-app 滚动到指定位置的操作方法
发表评论 取消回复