加上下拉刷新

This commit is contained in:
zhouyanli
2026-08-20 09:17:05 +08:00
parent c39f995bd1
commit 62437fec8c
7 changed files with 84 additions and 69 deletions

View File

@@ -37,7 +37,13 @@
</view>
<!-- 上报记录列表 -->
<scroll-view class="record-list" scroll-y>
<scroll-view
class="record-list"
scroll-y
refresher-enabled
:refresher-triggered="refresherTriggered"
@refresherrefresh="onPullRefresh"
>
<!-- 记录卡片 -->
<view v-for="record in reportRecords" :key="record.id" class="record-card">
<!-- 标题 + 状态标签 -->
@@ -82,7 +88,7 @@
<script setup>
import { ref } from 'vue'
import { onReachBottom, onPullDownRefresh, onShow } from '@dcloudio/uni-app'
import { onShow } from '@dcloudio/uni-app'
import { getMyOrderList } from '../../api/api.js'
// 分页
const pageNum = ref(1) // 当前页
@@ -90,6 +96,7 @@ const pageSize = ref(10) // 每页条数
const total = ref(0) // 总条数
const loading = ref(false) // 加载状态
const noMore = ref(false) // 是否没有更多
const refresherTriggered = ref(false) // 下拉刷新触发状态
// 筛选状态
const activeStatus = ref('all') // 全部/待分配/待解决/已完成
const activeType = ref('all') // 全部/公共报修/个人报修
@@ -151,23 +158,17 @@ const getReportList = (isRefresh = false) => {
.finally(() => {
loading.value = false
if (isRefresh) {
uni.stopPullDownRefresh()
refresherTriggered.value = false
}
})
}
// 上拉加载更多
onReachBottom(() => {
if (noMore.value || loading.value) return
pageNum.value++
getReportList()
})
// 下拉刷新
onPullDownRefresh(() => {
const onPullRefresh = () => {
refresherTriggered.value = true
pageNum.value = 1
noMore.value = false
getReportList(true)
})
}
// 筛选/分页重置后重新拉数据
const reloadList = () => {