赞
踩
<template> <view> <scroll-view :scroll-top="scrollTop" scroll-y="true" @scrolltoupper="upper" @scrolltolower="lower" @scroll="scroll" class="scroll-y" scroll-with-animation="true"> <view class="scroll-y" style="background-color: red;">A</view> <view class="scroll-y" style="background-color: green;">B</view> <view class="scroll-y" style="background-color: blue;">C</view> </scroll-view> <view @click="goTop">点我回到顶部</view> <scroll-view @scroll="scroll1" :scroll-left="scrollLeft" class="scroll-x x" scroll-x="true" > <view class="scroll-x" style="background-color: red;">A</view> <view class="scroll-x" style="background-color: green;">B</view> <view class="scroll-x" style="background-color: blue;">C</view> </scroll-view> <view @click="goLeft">点我回到最左侧</view> </view> </template> <script> export default { data() { return { //当前距离顶部位置 scrollTop:0, scrollLeft:0, old: { //记录距离顶部位置 scrollTop: 0, scrollLeft:0 } } }, onLoad(e) { }, methods: { upper: function(e) { console.log('我到顶部了') }, lower: function(e) { console.log('我到底部了') }, scroll: function(e) { // console.log(e) this.old.scrollTop = e.detail.scrollTop }, goTop: function(e) { //给当前距离顶部位置赋值 this.scrollTop = this.old.scrollTop //异步更新距离顶部位置 this.$nextTick(function() { this.scrollTop = 0 }); }, scroll1(e){ this.old.scrollLeft=e.detail.scrollLeft }, goLeft(e){ this.scrollLeft = this.old.scrollLeft //异步更新距离顶部位置 this.$nextTick(function() { this.scrollLeft = 0 }); } } } </script> <style> .scroll-y{ width: 100%; height: 300rpx; text-align: center; line-height: 300rpx; } .scroll-x{ width: 100%; height: 300rpx; text-align: center; line-height: 300rpx; display: inline-block; } .x{ flex-wrap: nowrap; white-space: nowrap; } </style>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。