Paginate Your Results
GraphQL queries can return up to 2000 records. By default, the wire adapter returns the first 10 results and you can request subsequent pages using the cursor information. The GraphQL API and graphql wire adapter use the GraphQL Cursor Connections Specification to allow pagination of all data collections they return.
To specify the number of records to return, use the first
argument. The default number is 10. If hasNextPage
is true, you can provide the endCursor
value to the after
argument of a subsequent query, which requests the next page of results.
Backward pagination using last
and before
isn't currently supported.
Here's a basic query with cursor information.
This example response contains cursor information.
Requesting totalCount
can have performance implications for large or complex queries.
Let's take a look at how we can create a simplePagination
component with a reset button that resets the pagination and a next page button that pages through the results. The component displays 5 results on each page by default. It uses a isLastPage
property to determine if the next page button is disabled.
The graphqlPagination
component in the lwc-recipes repo gets contact data with pagination to navigate through the list.
The component uses the lightning-button
base component to display the reset button and next page button. It displays the account name and annual revenue in the lightning-card
base component.
When clicked, the next page button sets the lastCursor
value to the endCursor
value and displays the next set of results.