filter query strings

This commit is contained in:
jmosrael@gmail.com
2024-05-24 18:07:31 -07:00
parent 32f5a7a1af
commit e62825a114
3 changed files with 18 additions and 8 deletions

View File

@@ -70,12 +70,12 @@ async function loadData() {
}
function setPage(targetPage: number) {
router.replace({ query: { page: targetPage } })
router.replace({ query: { page: targetPage, filter: route.query.filter } })
}
watch(route, (newValue, oldValue) => {
if (!route.query.page) {
router.replace({ query: { page: 1 } })
router.replace({ query: { page: 1, filter: route.query.filter } })
page.value = 1
} else {
page.value = Number(route.query.page)
@@ -88,7 +88,7 @@ let debounce = null
watch(filtervalue, (newFilter, oldFilter) => {
debounce = clearTimeout(debounce)
debounce = setTimeout(() => {
loadData()
router.replace({query: {page: route.query.page, filter: newFilter}})
}, 500)
})
@@ -99,6 +99,9 @@ onMounted(async () => {
} else {
page.value = Number(route.query.page)
}
if (route.query.filter) {
filtervalue.value = route.query.filter
}
loadData()
})
</script>

View File

@@ -52,24 +52,28 @@ async function loadData() {
}
function setPage(targetPage: number) {
router.replace({ query: { page: targetPage } })
router.replace({ query: { page: targetPage, filter: route.query.filter} })
}
watch(route, (newValue, oldValue) => {
if (!route.query.page) {
router.replace({ query: { page: 1 } })
router.replace({ query: { page: 1, filter: route.query.filter } })
page.value = 1
} else {
page.value = Number(route.query.page)
}
if (route.query.filter) {
filtervalue.value = route.query.filter
}
loadData()
})
let debounce = null
watch(filtervalue, (oldFilter, newFilter) => {
watch(filtervalue, (newFilter, oldFilter) => {
debounce = clearTimeout(debounce)
debounce = setTimeout(() => {
loadData()
router.replace({query: {page: route.query.page, filter: newFilter}})
}, 500)
})
@@ -80,6 +84,9 @@ onMounted(async () => {
} else {
page.value = Number(route.query.page)
}
if (route.query.filter) {
filtervalue.value = route.query.filter
}
loadData()
})
</script>