Appearance
Props
load
- Type:
(action: LoadAction, payload: LoadPayload) => void - Required
Callback prop which is called when it's time to load new items ( loader is visible to user ). Accepts 2 arguments:
js
load(
{
// Call when you finished loading data
// Optional params:
// - count - how many items has been loaded
// - pageSize - items per page count
// Returns:
// - State ( 'loading', 'no-more', 'no-results' )
loaded,
// Call when you have no more item
noMore,
// Call if you have no items at all
noResults,
// Call if you caught an error
error,
},
{
// Indicates is it was first load
isFirstLoad,
}
)
isInitial
- Type:
boolean - Default:
true
Tells component is it first loading or not. Can be used with v-model to reset component if set it to true after component creation.
Using prop:
html
<VueEternalLoading :load="load" :is-initial="isInitial">
</VueEternalLoading>
Using v-model ( can be reset ):
html
<VueEternalLoading :load="load" v-model:is-initial="isInitial">
</VueEternalLoading>
position
- Type:
Position - Default:
default - Values:
'top'|'left'|'default'
Tells where vue-eternal-loader is. It is required for top / left positions for correct scroll calculations.
container
- Type:
HTMLElement - Default:
document.documentElement
Required if your scroll area is not the whole document ( document.documentElement ) and your position top or left. This prop tells where the scroll is, to scroll right container.
margin
Added in v1.1.0
- Type:
string - Default:
undefined
Creates invisible bounding box around vue-eternal-loading which trigger load prop. Normally it may be specified in pixels ( e.g. 200px ). All formats available here.
vue-eternal-loading