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.
57 lines
1.3 KiB
57 lines
1.3 KiB
<template>
|
|
<view class="content">
|
|
<view class="padding">
|
|
<notice :list="noticeList"/>
|
|
<view style="padding-bottom: 20rpx;" v-if="noticeList.length>0">
|
|
<u-loadmore :status="status" />
|
|
</view>
|
|
<nodata v-if="!noticeList.length&&status=='nomore'">暂无投票信息~</nodata>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script setup>
|
|
import notice from '@/pages/tabbar/index/comp/notice.vue'
|
|
import { getNoticeList, } from '@/config/api.js'
|
|
import { onLoad, onPullDownRefresh, onReachBottom } from '@dcloudio/uni-app'
|
|
import { ref } from 'vue'
|
|
let status = ref('loading')
|
|
let params = ref({
|
|
"pageNo": 1,
|
|
"pageSize": 30,
|
|
})
|
|
let noticeList = ref([])
|
|
const total = ref(0)
|
|
async function getNoticeListFn() {
|
|
const {data: res} = await getNoticeList(params.value)
|
|
noticeList.value.push(...res.list)
|
|
total.value = res.total
|
|
if(noticeList.value.length>=total.value) status.value = 'nomore'
|
|
console.log(res)
|
|
}
|
|
getNoticeListFn()
|
|
|
|
async function initList () {
|
|
params.value.pageNo = 1
|
|
noticeList.value = []
|
|
await getNoticeListFn()
|
|
}
|
|
|
|
onPullDownRefresh(async()=>{
|
|
await initList()
|
|
uni.stopPullDownRefresh()
|
|
})
|
|
|
|
onReachBottom(()=>{
|
|
if(total.value > noticeList.value.length) {
|
|
getNoticeListFn()
|
|
}
|
|
})
|
|
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.content {
|
|
padding-bottom: 80rpx;
|
|
}
|
|
</style>
|