Skip to content

Commit 29d722c

Browse files
authored
docs(useQuery): document refetch with new variables (#1564)
1 parent 6fa46ab commit 29d722c

File tree

1 file changed

+57
-0
lines changed
  • packages/docs/src/guide-composable

1 file changed

+57
-0
lines changed

packages/docs/src/guide-composable/query.md

+57
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,63 @@ export default {
700700
</template>
701701
```
702702

703+
### Providing new variables to `refetch`
704+
705+
You call `refetch` with a new set of variables like so:
706+
707+
```vue{41}
708+
<script>
709+
import { useQuery } from '@vue/apollo-composable'
710+
import gql from 'graphql-tag'
711+
712+
export default {
713+
setup () {
714+
const { result, loading, error, refetch } = useQuery(gql`
715+
query getUsers($search: String) {
716+
users(search: $search) {
717+
id
718+
firstname
719+
lastname
720+
email
721+
}
722+
}
723+
`)
724+
725+
const users = computed(() => result.value?.users)
726+
727+
return {
728+
users,
729+
loading,
730+
error,
731+
refetch,
732+
}
733+
},
734+
}
735+
</script>
736+
737+
<template>
738+
<div v-if="loading">Loading...</div>
739+
740+
<div v-else-if="error">Error: {{ error.message }}</div>
741+
742+
<ul v-else-if="users">
743+
<li v-for="user of users" :key="user.id">
744+
{{ user.firstname }} {{ user.lastname }}
745+
</li>
746+
747+
<button
748+
@click="refetch({ search: 'some search input' })"
749+
>
750+
Search "some search input"
751+
</button>
752+
</ul>
753+
</template>
754+
```
755+
756+
::: warning
757+
If you provide new values for **some** of your original query's variables but not **all** of them, `refetch` uses each omitted variable's original value.
758+
:::
759+
703760
## Event hooks
704761

705762
`useQuery` returns event hooks allowing you to execute code when a specific event occurs.

0 commit comments

Comments
 (0)