123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <template>
- <view>
- <mescroll-uni ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback">
- <swiper style="min-height: 300rpx" autoplay="true" interval="3000" duration="300" circular="true">
- <swiper-item>
- <image style="width: 100%;height: auto;" src="https://www.mescroll.com/img/swiper1.jpg" mode="widthFix"/>
- </swiper-item>
- <swiper-item>
- <image style="width: 100%;height: auto;" src="https://www.mescroll.com/img/swiper2.jpg" mode="widthFix"/>
- </swiper-item>
- </swiper>
-
- <view class="demo-tip">
- <view>仅测试mescroll-uni使用sticky的情况</view>
- <view>与mescroll-body使用的区别:</view>
- <view>1. mescroll-uni 无需配置 :sticky="true"</view>
- <view>2. sticky的top 无需考虑var(--window-top)</view>
- </view>
-
-
- <view class="sticky-tabs">
- <me-tabs v-model="tabIndex" :tabs="tabs" @change="tabChange"></me-tabs>
- </view>
-
-
- <good-list :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 {
- goods: [],
- tabs: ['全部', '母婴', '图书'],
- tabIndex: 0
- }
- },
- methods: {
-
- downCallback() {
-
-
-
- this.mescroll.resetUpScroll()
- },
-
- upCallback(page) {
- let keyword = this.tabs[this.tabIndex]
- apiSearch(page.num, page.size, keyword).then(curPageData=>{
- if(page.num == 1) this.goods = [];
- this.goods=this.goods.concat(curPageData);
- this.mescroll.endSuccess(curPageData.length);
- }).catch(()=>{
-
- this.mescroll.endErr();
- })
- },
-
- tabChange () {
- this.goods = [];
- this.mescroll.resetUpScroll()
- }
- }
- }
- </script>
- <style lang="scss">
-
- .sticky-tabs{
- z-index: 990;
- position: sticky;
- top: 0;
- background-color: #fff;
- }
-
- .demo-tip{
- padding: 18rpx;
- font-size: 24rpx;
- text-align: center;
- }
- </style>
|