InfiniteHits
Displays an infinite list of hits along with a load more button.
Usage
<ais-infinite-hits></ais-infinite-hits>
Props
Name | Type | Default | Description | Required |
---|---|---|---|---|
escapeHTML | Boolean | true | Escape raw HTML in the hits | no |
transformItems | (items: object[]) => object[] |
x => x |
Function which receives the items, which will be called before displaying them. Should return a new array with the same shape as the original array. Useful for mapping over the items to transform, remove or reorder them | - |
class-names | Object | {} |
Override class names | no |
Slots
Name | Scope | Description |
---|---|---|
default | { items: Array<Item>, results: Object, refine: () => void } |
Slot to override the DOM output |
item | { item: Item, index: Number } |
Slot to override the DOM output. |
loadMore | { refine: () => void, page: Number, isLastPage: boolean } |
Slot to override the button to load the next page. Note that page is 0-based, while most people start counting pages from 1. |
Where Item
is a single hit with all its attribute, and index
is the absolute position of this hit.
CSS classes
Here’s a list of CSS classes exposed by this widget. To better understand the underlying DOM structure, have a look at the generated DOM in your browser.
Note that you can pass the prop class-names
, with an object of class names and their replacement to override this.
Class name | Description |
---|---|
ais-InfiniteHits |
The root div of the widget |
ais-InfiniteHits-list |
The list of hits |
ais-InfiniteHits-item |
The hit list item |
ais-InfiniteHits-loadMore |
The button used to display more results |
ais-InfiniteHits-loadMore--disabled |
The disabled button used to display more results |