123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <template>
- <view>
-
- <view class="top-warp">
- <view class="tip">基于scroll-view,常用在浮窗弹层等局部滚动区域</view>
- <view class="tip" @click="triggerDownScroll">点此主动触发下拉刷新</view>
- <view class="tip" @click="scrollToY(200)">点此测试滚动到指定位置 (如: 200px)</view>
-
- <view class="tip" @click="scrollIntoView('#anchorPoint')">点此测试滚动到指定view (元素在本页)</view>
-
- <view class="tip" @click="scrollIntoView('.good-comp >>> #good2')">点此测试滚动到指定view (元素在子组件)</view>
- <me-tabs v-model="tabIndex" :tabs="tabs" @change="tabChange"></me-tabs>
- </view>
-
-
- <mescroll-uni ref="mescrollRef" @init="mescrollInit" top="365" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">
-
- <image id="anchorPoint" v-if="tabIndex==0" src="https://www.mescroll.com/img/taobao/taobao3.jpg" mode="widthFix" style="width: 100%"/>
-
-
- <good-list class="good-comp" :list="goods"></good-list>
- </mescroll-uni>
- </view>
- </template>
- <script>
- import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
- import {apiSearch} from "@/api/mock.js"
-
- export default {
- mixins: [MescrollMixin],
- data() {
- return {
- upOption:{
-
-
-
- noMoreSize: 4,
- empty:{
- tip: '~ 搜索无数据 ~',
- btnText: '去看看'
- }
- },
- goods: [],
- tabs: ['全部', '奶粉', '面膜', '图书'],
- tabIndex: 0
- }
- },
- methods: {
-
- upCallback(page) {
-
- let keyword = this.tabs[this.tabIndex]
- apiSearch(page.num, page.size, keyword).then(curPageData=>{
-
- this.mescroll.endSuccess(curPageData.length);
-
- if(page.num == 1) this.goods = [];
- this.goods=this.goods.concat(curPageData);
- }).catch(()=>{
-
- this.mescroll.endErr();
- })
- },
-
- emptyClick(){
- uni.showToast({
- title:'点击了按钮,具体逻辑自行实现'
- })
- },
-
-
- tabChange() {
- this.goods = []
- this.mescroll.resetUpScroll()
- },
-
-
- triggerDownScroll(){
- this.mescroll.scrollTo(0, 0)
- this.mescroll.triggerDownScroll()
- },
-
- scrollToY(y){
-
- this.mescroll.scrollTo(y, 0)
- },
-
- scrollIntoView(viewId){
-
- this.mescroll.scrollTo(viewId, 0)
- }
- }
- }
- </script>
- <style>
- .top-warp{
- z-index: 9990;
- position: fixed;
- top: --window-top;
- left: 0;
- width: 100%;
- height: 365upx;
- background-color: white;
- }
- .top-warp .tip{
- font-size: 28upx;
- height: 60upx;
- line-height: 60upx;
- text-align: center;
- }
- </style>
|