You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.3 KiB

// 使用的时候,用本组件包裹可以触发下拉刷新的内容。enablePullDownRefresh需要设置为false。
Component({
properties: {
refreshed: { // 必选,通知本组件收起
type: Boolean,
value: false,
},
refreshing: { // 可选,通知本组件直接进入refreshing状态
type: Boolean,
value: false,
},
distMax: { // 可选,可以下拉的最大高度,回弹的高度为最大高度的75%
type: Number,
value: 45,
},
color: { // 可选,圆弧颜色
type: String,
value: "#000",
},
backgroundColor: { // 可选,背景颜色
type: String,
value: "#fff",
},
type: {
type: Number,
value: 0
}
},
data: {
reachTop: false,
},
methods: {
initObserver() {
this.observer = this.createIntersectionObserver()
this.observer.relativeToViewport().observe(".intersection-dot", (res) => {
if (res.intersectionRatio > 0) {
this.setData({ reachTop: true, })
} else {
this.setData({ reachTop: false,})
}
})
},
clearObserver() {
if (this.observer) {
this.observer.disconnect()
this.observer = null
}
},
},
ready() {
this.initObserver()
},
detached() {
this.clearObserver()
},
})