vue-selectpage
v-selectpage
SelectPage for Vue3, a select items components provides the list of items with pagination
If you are using vue 2.x version, please use v-selectpage 2.x version instead
Examples and Documentation
Documentation and examples please visit below sites
The jQuery version: SelectPage
Features
- Display contents with pagination
- I18n support
- Select single / multiple options
- Tags form for multiple selection
- Keyboard navigation
- Searchable
- Provide display forms such as list view and table view
- Customization of row / cell content rendering
- Core module that can be used independently
I18n support languages
- Chinese Simplified
- English
- Japanese
- Arabic
- Spanish
- German
- Romanian
- French
- Portuguese-Brazil
- Polish
- Dutch
- Chinese Traditional
- Russian
- Turkish
Installation
Install v-selectpage to your project
# npm
npm i v-selectpage
# yarn
yarn add v-selectpage
# pnpm
pnpm add v-selectpage
Usage
Quick start example
<template>
<SelectPageList
key-prop="id"
label-prop="name"
@fetch-data="fetchData"
/>
</template>
<script setup lang="ts">
import { SelectPageList } from 'v-selectpage'
import type { PageParameters, FetchDataCallback } from 'v-selectpage'
function fetchData (data: PageParameters, callback: FetchDataCallback) {
// pagination information and search keyword
const { search, pageNumber, pageSize } = data
// request parameters
const parameters = {
search,
pageNumber,
pageSize,
...
}
// fetch data list with pagination state
doDataRequest(parameters)
.then(resp => {
/**
* Return data format for example
* {
* list: object[], // current page data list
* total: number // result count
* }
*/
callback(resp.list, resp.total)
})
.catch(() => {
// clear the data list if necessary when request fails
callback([], 0)
})
}
</script>
Set default selected items
<template>
<SelectPageTable
language="zh-chs"
v-model="selected"
:multiple="true"
:columns="columns"
@fetch-data="fetchData"
@fetch-selected-data="fetchSelectedData"
/>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { SelectPageTable } from 'v-selectpage'
import type {
SelectPageKey, FetchSelectedDataCallback,
PageParameters, FetchDataCallback, SelectPageTableColumn
} from 'v-selectpage'
const selected = ref<SelectPageKey[]>([2, 4, 7])
const columns: SelectPageTableColumn[] = [
{ title: 'Id', data: 'id' },
{ title: 'Team name', data: row => `${row.abbr} - ${row.name}`, width: 250 },
{ title: 'Description', data: 'desc' }
]
// fetch current page data
function fetchData (data: PageParameters, callback: FetchDataCallback) {
...
}
// fetch selected items data
function fetchSelectedData (keys: SelectPageKey[], callback: FetchSelectedDataCallback) {
// get data models by keys
doDataRequest({ keys }).then(resp => {
callback(resp)
})
}
</script>
Plugin preview
List view for Single selection

List view for multiple selection with tags form

Table view for single selection

Dependencies
- v-dropdown - The dropdown container
License
Related Packages
v-selectpage
SelectPage for Vue, a select items components provides the list of items with pa...
24,016
248
new-region-from-region
A simple region selector, provide Chinese administrative division data
11,598
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 3.1.20 | ^3.2.0 | MIT | |
| 3.1.18 | ^3.2.0 | MIT | |
| 3.1.17 | ^3.2.0 | MIT | |
| 3.1.16 | ^3.2.0 | MIT | |
| 3.1.15 | ^3.2.0 | MIT | |
| 3.1.14 | ^3.2.0 | MIT | |
| 3.1.13 | ^3.2.0 | MIT | |
| 3.1.12 | ^3.2.0 | MIT | |
| 3.1.11 | ^3.2.0 | MIT | |
| 3.1.10 | ^3.2.0 | MIT | |
| 3.1.9 | ^3.2.0 | MIT | |
| 3.1.8 | ^3.2.0 | MIT | |
| 3.1.7 | ^3.2.0 | MIT | |
| 3.1.6 | ^3.2.0 | MIT | |
| 3.1.5 | ^3.2.0 | MIT | |
| 3.1.4 | ^3.2.0 | MIT | |
| 3.1.3 | ^3.2.0 | MIT | |
| 3.1.2 | ^3.2.0 | MIT | |
| 3.1.1 | ^3.2.0 | MIT | |
| 3.1.0 | ^3.2.0 | MIT | |
| 3.0.14 | ^3.3.7 | MIT | |
| 3.0.12 | ^3.3.7 | MIT | |
| 3.0.11 | ^3.3.7 | MIT | |
| 3.0.10 | ^3.2.0 | MIT | |
| 3.0.9 | ^3.2.0 | MIT | |
| 3.0.8 | ^3.2.0 | MIT | |
| 3.0.7 | ^3.2.0 | MIT | |
| 3.0.6 | ^3.2.0 | MIT | |
| 3.0.5 | ^3.2.0 | MIT | |
| 3.0.4 | ^3.2.0 | MIT |
Showing the latest 30 of 58. See every release on npm
