沙盘演示系统应用的微信小程序
zuoxiao
2024-11-04 e0143ad80f9c78ac1eb1bd06782567ebffb67b8f
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
const useCustomNavbarBehavior = Behavior({
    properties: {
        usingCustomNavbar: {
            type: Boolean,
            value: false,
        },
        customNavbarHeight: {
            type: Number,
            value: 0,
        },
    },
    data: {
        distanceTop: 0,
    },
    lifetimes: {
        attached() {
            if (this.properties.usingCustomNavbar) {
                this.calculateCustomNavbarDistanceTop();
            }
        },
    },
    methods: {
        calculateCustomNavbarDistanceTop() {
            const { statusBarHeight } = wx.getSystemInfoSync();
            const menuButton = wx.getMenuButtonBoundingClientRect();
            const distance = menuButton.top + menuButton.bottom - statusBarHeight;
            this.setData({
                distanceTop: Math.max(distance, this.properties.customNavbarHeight + statusBarHeight),
            });
        },
    },
});
export default useCustomNavbarBehavior;