| | |
| | | // 接口数据的获取 |
| | | import { onActivated, onDeactivated, ref, watch } from 'vue'; |
| | | import { ref, watch, computed } from 'vue'; |
| | | |
| | | export function useFetchData(fetch) { |
| | | export function useFetchData() { |
| | | // 分页信息 |
| | | const currentPage = ref(1); |
| | | const totalPage = ref(1); |
| | | const page = ref(1); |
| | | const pageNum = ref(1); |
| | | const pageSize = ref(20); |
| | | const total = ref(0); |
| | | watch(currentPage, (nValue, oValue) => { |
| | | watch(page, (nValue, oValue) => { |
| | | if (nValue != oValue) { |
| | | fetchData(); |
| | | } |
| | |
| | | // 加载状态, 0: 加载完成; 1: 加载中; 2: 已全部加载; 3: 加载失败; |
| | | const loadStatus = ref(0); |
| | | |
| | | const loading = computed(() => { |
| | | return loadStatus.value == 1; |
| | | }); |
| | | |
| | | // 数据获取 |
| | | function fetchData() { |
| | | function fetchData(fetch) { |
| | | loadStatus.value = 1; |
| | | fetch(currentPage.value, pageSize.value) |
| | | fetch(page.value, pageSize.value) |
| | | .then((pageInfo) => { |
| | | currentPage.value = pageInfo.currentPage; |
| | | totalPage.value = pageInfo.totalPage; |
| | | total.value = pageInfo.total; |
| | | if (pageInfo) { |
| | | page.value = pageInfo.page ? pageInfo.page : 1; |
| | | pageNum.value = pageInfo.pageNum ? pageInfo.pageNum : 1; |
| | | total.value = pageInfo.total ? pageInfo.total : 0; |
| | | } |
| | | |
| | | loadStatus.value = 0; |
| | | }) |
| | |
| | | }); |
| | | } |
| | | |
| | | return {currentPage, totalPage, pageSize, total, loadStatus, fetchData} |
| | | return { page, pageNum, pageSize, total, loadStatus, loading, fetchData }; |
| | | } |