118 lines
2.6 KiB
JavaScript
118 lines
2.6 KiB
JavaScript
|
// pages/second-floor/circle/index.js
|
||
|
Component({
|
||
|
externalClasses: ['second-floor-refresh-class', 'second-floor-refresh-back'],
|
||
|
relations: {
|
||
|
'../second-floor/index': {
|
||
|
type: 'parent',
|
||
|
linked(target) {
|
||
|
this.setData({
|
||
|
target,
|
||
|
})
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
properties: {
|
||
|
refreshConfig: {
|
||
|
type: Object,
|
||
|
value: {
|
||
|
loadingText: '正在加载',
|
||
|
backText: '返回首页',
|
||
|
downText: '下拉刷新',
|
||
|
tipText: '松开刷新,继续下拉有惊喜~',
|
||
|
moreText: '继续下拉有惊喜~',
|
||
|
color: '#ffffff',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 组件的初始数据
|
||
|
*/
|
||
|
data: {
|
||
|
text: '',
|
||
|
isLoading: false,
|
||
|
isFloorShow: false,
|
||
|
p: 0,
|
||
|
scroll_height: 0,
|
||
|
target: null,
|
||
|
status: 'down',
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 组件的方法列表
|
||
|
*/
|
||
|
methods: {
|
||
|
setText(p) {
|
||
|
if (p > 0 && p <= this.data.scroll_height / 6) {
|
||
|
if (this.data.text !== this.data.refreshConfig.downText) {
|
||
|
this.setData({
|
||
|
text: this.data.refreshConfig.downText,
|
||
|
status: 'down',
|
||
|
})
|
||
|
}
|
||
|
} else if (
|
||
|
p > this.data.scroll_height / 6 &&
|
||
|
p <= this.data.scroll_height / 3
|
||
|
) {
|
||
|
if (this.data.text !== this.data.refreshConfig.tipText) {
|
||
|
this.setData({
|
||
|
text: this.data.refreshConfig.tipText,
|
||
|
status: 'tip',
|
||
|
})
|
||
|
}
|
||
|
} else {
|
||
|
if (this.data.text !== this.data.refreshConfig.moreText) {
|
||
|
this.setData({
|
||
|
text: this.data.refreshConfig.moreText,
|
||
|
status: 'more',
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
this.setData({
|
||
|
p,
|
||
|
})
|
||
|
},
|
||
|
setLoading(flag) {
|
||
|
this.setData({
|
||
|
isLoading: flag,
|
||
|
status: 'loading',
|
||
|
text: this.data.refreshConfig.loadingText,
|
||
|
})
|
||
|
},
|
||
|
setDown() {
|
||
|
this.setData({
|
||
|
isLoading: false,
|
||
|
text: this.data.refreshConfig.downText,
|
||
|
p: 0,
|
||
|
status: 'down',
|
||
|
})
|
||
|
},
|
||
|
setSecondShow(flag) {
|
||
|
const text = flag ? this.data.refreshConfig.backText : ''
|
||
|
this.setData({
|
||
|
isFloorShow: flag,
|
||
|
text,
|
||
|
status: 'back',
|
||
|
})
|
||
|
},
|
||
|
back() {
|
||
|
if (this.data.isFloorShow) {
|
||
|
this.data.target.back()
|
||
|
}
|
||
|
},
|
||
|
},
|
||
|
ready() {
|
||
|
const defaultConfig = {
|
||
|
loadingText: '正在加载',
|
||
|
backText: '返回首页',
|
||
|
downText: '下拉刷新',
|
||
|
tipText: '松开刷新,继续下拉有惊喜~',
|
||
|
moreText: '继续下拉有惊喜~',
|
||
|
color: '#ffffff',
|
||
|
}
|
||
|
this.setData({
|
||
|
refreshConfig: { ...defaultConfig, ...this.data.refreshConfig },
|
||
|
})
|
||
|
},
|
||
|
})
|