zhangxiaoxu123456
2021-12-17 4d4a844ef624dde8667b314d353599297f6cb8d9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<template>
    <view class="u-demo">
        <view class="u-demo-wrap">
            <view class="u-demo-title">演示效果</view>
            <view class="u-demo-area">
                <u-toast ref="uToast"></u-toast>
                <u-sticky :offset-top="offsetTop" :enable="enable" @fixed="fixed" @unfixed="unfixed">
                    <view class="sticky">
                        宝剑锋从磨砺出,梅花香自苦寒来
                    </view>
                </u-sticky>
            </view>
        </view>
        <view class="u-config-wrap">
            <view class="u-config-title u-border-bottom">
                参数配置
            </view>
            <view class="u-config-item">
                <view class="u-item-title">吸顶高度</view>
                <u-subsection :list="[0, 120, 200]" @change="offsetTopChange"></u-subsection>
            </view>
            <view class="u-config-item">
                <view class="u-item-title">状态</view>
                <u-subsection :list="['允许吸顶', '禁止吸顶']" @change="enableChange"></u-subsection>
            </view>
        </view>
    </view>
</template>
 
<script>
    export default {
        data() {
            return {
                offsetTop: 0,
                enable: true,
            }
        },
        methods: {
            offsetTopChange(index) {
                this.offsetTop = index == 0 ? 0 : index == 1 ? 120 : 200;
                uni.pageScrollTo({
                    scrollTop: 0,
                    duration: 0
                })
            },
            enableChange(index) {
                this.enable = index == 0 ? true : false;
            },
            fixed() {
                this.$refs.uToast.show({
                    type: 'warning',
                    title: '触发吸顶'
                })
            },
            unfixed() {
                this.$refs.uToast.show({
                    type: 'success',
                    title: '取消吸顶'
                })
            }
        }
    }
</script>
 
<style lang="scss" scoped>
    .u-demo-area {
        overflow: hidden;
    }
    
    .u-config-wrap {
        height: 200vh;
    }
    
    .u-demo-title {
        margin-bottom: 140rpx;
    }
    
    .sticky {
        background-color: $u-type-primary;
        color: #fff;
        padding: 24rpx;
        margin: auto;
        font-size: 28rpx;
        line-height: 1;
        border-radius: 5px;
    }
</style>