update
This commit is contained in:
@@ -16,9 +16,14 @@ function useTableQuery({
|
||||
watchParameter = false,
|
||||
}) {
|
||||
const loading = ref(false);
|
||||
const vo = reactive({
|
||||
rows: [],
|
||||
page: 0,
|
||||
total: 0,
|
||||
});
|
||||
|
||||
const pagination = reactive({
|
||||
current: 1,
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
total: 0
|
||||
});
|
||||
@@ -29,7 +34,7 @@ function useTableQuery({
|
||||
|
||||
const params = {
|
||||
...parameter,
|
||||
current: pagination.current,
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize
|
||||
}
|
||||
|
||||
@@ -38,34 +43,39 @@ function useTableQuery({
|
||||
pagination.pageSize = data.page;
|
||||
pagination.total = data.total;
|
||||
|
||||
callback && callback({
|
||||
const _vo = {
|
||||
...data,
|
||||
rows: data.rows.map(v => ({...v, key: v.id})),
|
||||
current: pagination.current
|
||||
});
|
||||
rows: data.list.map(v => ({...v, key: v.id})),
|
||||
};
|
||||
|
||||
vo.page = _vo.page;
|
||||
vo.total = _vo.total;
|
||||
vo.rows = [...vo.rows, ..._vo.rows];
|
||||
|
||||
callback && callback(vo);
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
const initFetchData = async () => {
|
||||
if (pagination.current === 1) {
|
||||
fetchData().then();
|
||||
} else {
|
||||
pagination.current = 1;
|
||||
pagination.total = 0;
|
||||
}
|
||||
pagination.page = 1;
|
||||
pagination.total = 0;
|
||||
vo.page = 0;
|
||||
vo.total = 0;
|
||||
vo.rows.length = 0;
|
||||
await fetchData();
|
||||
}
|
||||
|
||||
watch(
|
||||
() => [pagination.current, pagination.pageSize],
|
||||
() => [pagination.page, pagination.pageSize],
|
||||
() => fetchData(),
|
||||
{deep: true, immediate: immediate}
|
||||
)
|
||||
|
||||
if (watchParameter) watch(
|
||||
() => parameter,
|
||||
() => initFetchData(),
|
||||
() => fetchData(),
|
||||
{deep: true}
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user