API Reference

ConvexPaginatedQuery

Reference for the Nuxt renderless component that wraps useConvexPaginatedQuery.

ConvexPaginatedQuery is the Nuxt renderless component for paginated query feeds.

Example

app/pages/tasks.vue
<script setup lang="ts">
import { api } from '#convex/api'
</script>

<template>
  <ConvexPaginatedQuery
    :query="api.tasks.paginated"
    :args="{ userId: 'user_123' }"
    :options="{ numItems: 20 }"
  >
    <template #loading>
      Loading...
    </template>

    <template #error="{ error, reset }">
      <button @click="reset">
        Retry
      </button>
      {{ error.message }}
    </template>

    <template #default="{ data, loadMore, isDone, isLoadingMore }">
      <ul>
        <li v-for="task in data" :key="task._id">
          {{ task.title }}
        </li>
      </ul>

      <button :disabled="isDone || isLoadingMore" @click="loadMore">
        Load more
      </button>
    </template>
  </ConvexPaginatedQuery>
</template>

Props

PropTypeMeaning
queryFunctionReference<'query'>Paginated query reference
argsFunctionArgs<Query>Query args without paginationOpts in practice
optionsUseConvexPaginatedQueryOptionsPagination options, default { numItems: 10 }
suspensebooleanAwaits the first page before render when true

Slots

  • loading
  • error
  • empty
  • default

Behavior

  • Uses useConvexPaginatedQuery internally
  • Client-only data flow; suspense only affects the component setup wait
  • Treats an empty flattened data array as the empty state
Copyright © 2026