import { Component } from 'react'
import { View } from "@tarojs/components";
import { AtTabs, AtTabsPane } from "taro-ui";
import Taro from "@tarojs/taro";
import fetch from "@/Utils/request";
import './index.less'
export default class PracticeActivity extends Component {
state = {
current: 0,
currentPage: 1,
activityList: [],
pagesNumber: 1,
isNoMore: false,
loaded: false,
}
componentDidShow() {
this.getAllActivityList()
}
getAllActivityList = async (pagesNumber = 1) => {
const id = Taro.getStorageSync('orgListId')?.toString() || '1345681305362432'
const { current, pages, records } = await fetch({
method: "GET",
url: "/practical-activity/pageList",
data: { current: pagesNumber, size: 20, orgId: id },
})
const { activityList } = this.state
const isNoMore = current === pages
const loaded = true
if (records instanceof Array) {
const newActivityList = pagesNumber > 1 ? [...activityList, ...records] : records
this.setState({ activityList: newActivityList, isNoMore, loaded })
}
}
/* 上拉加载 */
onReachBottom = async () => {
const { pagesNumber, isNoMore } = this.state
if (isNoMore) {
return
}
const newPagesNumber = pagesNumber + 1
await this.getAllActivityList(newPagesNumber)
this.setState((prevState) => ({ pagesNumber: prevState.pagesNumber + 1 }))
}
render() {
const { activityList, current } = this.state
return (
<View className='practice-activity'>
{/* 在这里添加你的代码 */}
</View>
)
}
}
Taro-小程序上拉加载数据
于 2022-03-24 16:53:29 首次发布