Loading...
Loading...
ALWAYS use when writing code importing "@pinia/colada". Consult for debugging, best practices, or modifying @pinia/colada, pinia/colada, pinia colada, pinia-colada.
npx skill4agent add harlan-zw/vue-ecosystem-skills pinia-colada-skilld@pinia/coladauseInfiniteQuery()mergedata{ pages, pageParams }initialPageinitialPageParamloadMoreloadNextPagegetNextPageParamPiniaColadaqueryOptions: { ... }app.use(PiniaColada, {})useQuery()isFetchingisLoadingasyncStatusstatusstatus'pending'|'success'|'error'asyncStatus'idle'|'loading'mutationCache.get()$ntoCacheKeyundefinedqueryCachecancelQuery()cancel()cancelQueries()setQueryStatesetEntryStatequeryCacheAbortErrorplaceholderDataplaceholderDataundefinednull@vue/devtools-api@pinia/colada-devtoolsuseInfiniteQuery()useQueryState()useQueryPiniaColadaQueryHooksPluginonSuccessonErroronSettledserializeTreeMapserializetransformErrorEntryKeyEntryNodeKeyTResultTDataQueryPluginPiniaColadadelayLoadingRefinvalidateKeysstatedataerrorstatusRef<script setup lang="ts">
const { state } = useQuery({ key: ['user'], query: fetchUser })
</script>
<template>
<div v-if="state.status === 'success'">{{ state.data.name }}</div>
<div v-else-if="state.status === 'error'">{{ state.error.message }}</div>
</template>defineQuery()export const useFilteredTodos = defineQuery(() => {
const search = ref('')
const query = useQuery({
key: () => ['todos', { search: search.value }],
query: () => fetchTodos(search.value),
})
return { ...query, search }
})defineQueryOptions()queryCacheexport const todoOptions = defineQueryOptions((id: string) => ({
key: ['todos', id],
query: () => fetchTodo(id),
}))
// Inferred TData: queryCache.getQueryData(todoOptions('1').key)watchuseQueryonSuccessonErrorrefresh()refetch()refresh()staleTimerefetch()metaPiniaColadaQueryHooksPluginonErroronError(err, vars, { newTodo, oldTodo }) {
if (newTodo === queryCache.getQueryData(['todos'])) {
queryCache.setQueryData(['todos'], oldTodo)
}
}queryCache.setEntryState()undefinedsetQueryData()useRoutevue-routerdefineQueryundefinedenabledconst result = useQuery({
key: () => ['deck', route.params.id],
query: () => fetchDeck(route.params.id),
enabled: () => !!route.params.id,
})