Pagination Svelte component
This is a component that lets you paginate content.
The <Pagination>
accepts a list of items as the items
attribute. It will then expose the them as item
for each item that should currently
be shown.
items
Array of <T>
[]
item
<T>
undefined
itemsPerPage
Number
5
page
Number
0
bind:page
to have
updates synced to the parent as well.Check out the code at github.com/shadovo/svelper/../Pagination.svelte
Paginate list of strings
const smallItems = [
'Item 1',
'Item 2',
//...
'Item 20',
]
<Pagination items={smallItems} itemsPerPage={4} let:item>
<p>{item}</p>
</Pagination>
Item 1
Item 2
Item 3
Item 4
Paginate list of objects
const items = [{
title: 'Item 1',
text: 'Lorem ipsum...'
},{
title: 'Item 2',
text: 'Vivamus mattis...'
},{
// ...
},{
title: 'Item 30',
text: 'Sed malesuada...'
}]
<Pagination {items} itemsPerPage={4} let:item>
<div class="row">
<h4>{item.title}</h4>
<p>{item.text}</p>
</div>
</Pagination>
Item 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed efficitur fringilla lectus eget faucibus. Vivamus congue nibh ante. Morbi id turpis mollis, semper ligula a, efficitur neque. Cras nec arcu faucibus dui dictum rhoncus. Morbi sapien ligula,
Item 2
Vivamus mattis vehicula libero ut pretium. Duis sed libero purus. Fusce libero est, tristique vitae faucibus et, semper eget massa. Curabitur malesuada justo eros, et consectetur nisi rhoncus et. Praesent at dapibus eros. Nullam mattis tortor at diam
Item 3
Maecenas ornare augue ante, nec fermentum sapien posuere sit amet. Maecenas ut nulla dictum, egestas turpis vitae, rutrum erat. Pellentesque turpis nunc, placerat sit amet tortor a, dapibus eleifend ante. Sed volutpat et ante in cursus. Aenean vitae
Item 4
Pellentesque blandit neque ut velit commodo auctor. Etiam gravida eu justo nec scelerisque. Vivamus tincidunt tellus eget molestie mattis. Pellentesque in porta orci. Praesent sed venenatis libero. Fusce lorem leo, suscipit eget tristique id, vestibu