https://github.com/TerryZ/v-selectpage
SelectPage for Vue, a select items components provides the list of items with pagination
https://github.com/TerryZ/v-selectpage
front-end i18n javascript multiple pagination selector tableview tags vuejs
Last synced: 29 days ago
JSON representation
SelectPage for Vue, a select items components provides the list of items with pagination
- Host: GitHub
- URL: https://github.com/TerryZ/v-selectpage
- Owner: TerryZ
- License: mit
- Created: 2018-06-30T07:53:20.000Z (over 7 years ago)
- Default Branch: dev
- Last Pushed: 2025-09-10T00:49:10.000Z (3 months ago)
- Last Synced: 2025-10-29T06:38:49.424Z (about 1 month ago)
- Topics: front-end, i18n, javascript, multiple, pagination, selector, tableview, tags, vuejs
- Language: JavaScript
- Homepage: https://terryz.github.io/docs-vue3/select-page/
- Size: 928 KB
- Stars: 245
- Watchers: 6
- Forks: 63
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG-CN.md
- License: LICENSE
Awesome Lists containing this project
- awesome-vue - v-selectpage - SelectPage for Vue2, list or table view of pagination, use tags for multiple selection, i18n and server side resources supports ` 📝 a year ago` (UI Components [🔝](#readme))
- awesome-vue - v-selectpage - A powerful selector for Vue2, list or table view of pagination, use tags for multiple selection, i18n and server-side resources supports. (Components & Libraries / UI Components)
- awesome-vue-zh - V-请选择数据 - 功能强大的Vue2选择器,分页列表或表视图,使用标签进行多选,支持i18n和服务器端资源. (UI组件 / 形成)
- fucking-awesome-vue - v-selectpage - A powerful selector for Vue2, list or table view of pagination, use tags for multiple selection, i18n and server-side resources supports. (Components & Libraries / UI Components)
- awesome-vue - v-selectpage - A powerful selector for Vue2, list or table view of pagination, use tags for multiple selection, i18n and server-side resources supports. (Components & Libraries / UI Components)
- awesome-vue - v-selectpage ★75 - A powerful selector for Vue2, list or table view of pagination, use tags for multiple selection, i18n and server side resources supports. (UI Components / Form)
- awesome-vue - v-selectpage - A powerful selector for Vue2, list or table view of pagination, use tags for multiple selection, i18n and server side resources supports. (UI Components / Form)
README
# [v-selectpage](https://terryz.github.io/vue/#/selectpage)
[](https://dl.circleci.com/status-badge/redirect/gh/TerryZ/v-selectpage/tree/master) [](https://codecov.io/gh/TerryZ/v-selectpage) [](https://www.npmjs.com/package/v-selectpage)
SelectPage for Vue3, a select items components provides the list of items with pagination
[](https://opencollective.com/v-selectpage)
[](https://standardjs.com)
[](https://www.npmjs.com/package/v-selectpage)
If you are using vue `2.x` version, please use [v-selectpage 2.x](https://github.com/TerryZ/v-selectpage/tree/dev-vue-2) version instead
## Examples and Documentation
Documentation and examples please visit below sites
- [github-pages](https://terryz.github.io/docs-vue3/select-page/)
The jQuery version: [SelectPage](https://github.com/TerryZ/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
[](https://www.npmjs.com/package/v-selectpage)
Install `v-selectpage` to your project
``` bash
# npm
npm i v-selectpage
# yarn
yarn add v-selectpage
# pnpm
pnpm add v-selectpage
```
## Usage
Quick start example
```vue
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)
})
}
```
Set default selected items
```vue
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)
})
}
```
## Plugin preview
List view for Single selection

List view for multiple selection with tags form

Table view for single selection

## Dependencies
- [v-dropdown](https://github.com/TerryZ/v-dropdown) - The dropdown container
## License
[](https://mit-license.org/)