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
Documentation and examples please visit below sites
The jQuery version: SelectPage
I18n support languages
Install v-selectpage
to your project
# npm npm i v-selectpage # yarn yarn add v-selectpage # pnpm pnpm add v-selectpage
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>
List view for Single selection
List view for multiple selection with tags form
Table view for single selection
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4