diff --git a/src/components/ui/VnPaginate.vue b/src/components/ui/VnPaginate.vue index 678d1f799..22f1a6461 100644 --- a/src/components/ui/VnPaginate.vue +++ b/src/components/ui/VnPaginate.vue @@ -146,22 +146,14 @@ const addFilter = async (filter, params) => { }; async function fetch(params) { - if (params) { - for (let param in params) { - if (params[param]) arrayData.store[param] = params[param]; - } - } + if (params) applyParams(params); arrayData.resetPagination(); await arrayData.fetch({ append: false }); return emitStoreData(); } async function update(params) { - if (params) { - for (let param in params) { - if (params[param]) arrayData.store[param] = params[param]; - } - } + if (params) applyParams(params); const { limit, skip } = store; store.limit = limit + skip; store.skip = 0; @@ -171,6 +163,12 @@ async function update(params) { return emitStoreData(); } +const applyParams = (params) => { + for (let param in params) { + if (params[param]) arrayData.store[param] = params[param]; + } +}; + function emitStoreData() { if (!store.hasMoreData) isLoading.value = false; emit('onFetch', store.data); diff --git a/src/composables/useArrayData.js b/src/composables/useArrayData.js index 60dab6014..2e880a16d 100644 --- a/src/composables/useArrayData.js +++ b/src/composables/useArrayData.js @@ -21,6 +21,7 @@ export function useArrayData(key, userOptions) { onMounted(() => { setOptions(); reset(['skip']); + const query = route.query; const searchUrl = store.searchUrl; if (query[searchUrl]) {