Я тоже много искал, но это написано в их документации vue apollo v4e
import { useQuery, useResult } from '@vue/apollo-composable'
import gql from 'graphql-tag'
export default {
setup () {
const { result, loading, error, refetch } = useQuery(<query>)
const users = useResult(result)
return {
users,
loading,
error,
refetch,
}
},
}
</script>
<template>
<div v-if="loading">Loading...</div>
<div v-else-if="error">Error: {{ error.message }}</div>
<ul v-else-if="users">
<li v-for="user of users" :key="user.id">
{{ user.firstname }} {{ user.lastname }}
</li>
<button @click="refetch()">Refresh</button>
</ul>
</template>
просто добавьте "refetch" в строку useQuery и вызовите это из события нажатия кнопки.
РЕДАКТИРОВАТЬ: Вы можете отключить запрос, поэтому он не будет запускаться при настройке компонента, а при нажатии кнопки вы можете включить запрос и повторно выполнить его.
С наилучшими пожеланиями