{"id":18387339,"url":"https://github.com/terryz/v-selectpage","last_synced_at":"2025-10-09T03:41:52.217Z","repository":{"id":35911064,"uuid":"139230304","full_name":"TerryZ/v-selectpage","owner":"TerryZ","description":"SelectPage for Vue, a select items components provides the list of items with pagination","archived":false,"fork":false,"pushed_at":"2025-09-10T00:49:10.000Z","size":950,"stargazers_count":245,"open_issues_count":22,"forks_count":63,"subscribers_count":6,"default_branch":"dev","last_synced_at":"2025-10-02T06:30:39.772Z","etag":null,"topics":["front-end","i18n","javascript","multiple","pagination","selector","tableview","tags","vuejs"],"latest_commit_sha":null,"homepage":"https://terryz.github.io/docs-vue3/select-page/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TerryZ.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-CN.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-06-30T07:53:20.000Z","updated_at":"2025-09-15T00:43:22.000Z","dependencies_parsed_at":"2023-09-26T09:48:01.991Z","dependency_job_id":"8dd8cff4-337b-4a53-9c75-f2f059c67ea5","html_url":"https://github.com/TerryZ/v-selectpage","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/TerryZ/v-selectpage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TerryZ%2Fv-selectpage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TerryZ%2Fv-selectpage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TerryZ%2Fv-selectpage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TerryZ%2Fv-selectpage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TerryZ","download_url":"https://codeload.github.com/TerryZ/v-selectpage/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TerryZ%2Fv-selectpage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000714,"owners_count":26082911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["front-end","i18n","javascript","multiple","pagination","selector","tableview","tags","vuejs"],"created_at":"2024-11-06T01:25:45.107Z","updated_at":"2025-10-09T03:41:52.205Z","avatar_url":"https://github.com/TerryZ.png","language":"JavaScript","readme":"# [v-selectpage](https://terryz.github.io/vue/#/selectpage)\n\n\u003ca href=\"https://terryz.github.io/vue/#/selectpage\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://terryz.github.io/image/v-selectpage/v3/selectpage-list-multiple.png\" alt=\"SelectPage\" align=\"right\" valign=\"top\" \u003e\n\u003c/a\u003e\n\n[![CircleCI](https://dl.circleci.com/status-badge/img/gh/TerryZ/v-selectpage/tree/master.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/TerryZ/v-selectpage/tree/master) [![code coverage](https://codecov.io/gh/TerryZ/v-selectpage/branch/master/graph/badge.svg)](https://codecov.io/gh/TerryZ/v-selectpage) [![npm version](https://img.shields.io/npm/v/v-selectpage.svg)](https://www.npmjs.com/package/v-selectpage)\n\nSelectPage for Vue3, a select items components provides the list of items with pagination\n\n[![Financial Contributors on Open Collective](https://opencollective.com/v-selectpage/all/badge.svg?label=financial+contributors)](https://opencollective.com/v-selectpage)\n[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n[![npm download](https://img.shields.io/npm/dy/v-selectpage.svg)](https://www.npmjs.com/package/v-selectpage)\n\nIf 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\n\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n## Examples and Documentation\n\nDocumentation and examples please visit below sites\n\n- [github-pages](https://terryz.github.io/docs-vue3/select-page/)\n\nThe jQuery version: [SelectPage](https://github.com/TerryZ/SelectPage)\n\n## Features\n\n- Display contents with pagination\n- I18n support\n- Select single / multiple options\n- Tags form for multiple selection\n- Keyboard navigation\n- Searchable\n- Provide display forms such as list view and table view\n- Customization of row / cell content rendering\n- Core module that can be used independently\n\nI18n support languages\n\n\u003c!-- Chinese Simplified • English • Japanese • Arabic • Spanish • German • Romanian • French • Portuguese-Brazil • Polish • Dutch • Chinese Traditional • Russian • Turkish --\u003e\n\n- Chinese Simplified\n- English\n- Japanese\n- Arabic\n- Spanish\n- German\n- Romanian\n- French\n- Portuguese-Brazil\n- Polish\n- Dutch\n- Chinese Traditional\n- Russian\n- Turkish\n\n## Installation\n\n[![https://nodei.co/npm/v-selectpage.png?downloads=true\u0026downloadRank=true\u0026stars=true](https://nodei.co/npm/v-selectpage.png?downloads=true\u0026downloadRank=true\u0026stars=true)](https://www.npmjs.com/package/v-selectpage)\n\nInstall `v-selectpage` to your project\n\n``` bash\n# npm\nnpm i v-selectpage\n# yarn\nyarn add v-selectpage\n# pnpm\npnpm add v-selectpage\n```\n\n## Usage\n\nQuick start example\n\n```vue\n\u003ctemplate\u003e\n  \u003cSelectPageList\n    key-prop=\"id\"\n    label-prop=\"name\"\n    @fetch-data=\"fetchData\"\n  /\u003e\n\u003c/template\u003e\n\n\u003cscript setup lang=\"ts\"\u003e\nimport { SelectPageList } from 'v-selectpage'\nimport type { PageParameters, FetchDataCallback } from 'v-selectpage'\n\nfunction fetchData (data: PageParameters, callback: FetchDataCallback) {\n  // pagination information and search keyword\n  const { search, pageNumber, pageSize } = data\n\n  // request parameters\n  const parameters = {\n    search,\n    pageNumber,\n    pageSize,\n    ...\n  }\n\n  // fetch data list with pagination state\n  doDataRequest(parameters)\n    .then(resp =\u003e {\n      /**\n       * Return data format for example\n       * {\n       *   list: object[], // current page data list\n       *   total: number // result count\n       * }\n       */\n      callback(resp.list, resp.total)\n    })\n    .catch(() =\u003e {\n      // clear the data list if necessary when request fails\n      callback([], 0)\n    })\n}\n\u003c/script\u003e\n```\n\nSet default selected items\n\n```vue\n\u003ctemplate\u003e\n  \u003cSelectPageTable\n    language=\"zh-chs\"\n    v-model=\"selected\"\n    :multiple=\"true\"\n    :columns=\"columns\"\n    @fetch-data=\"fetchData\"\n    @fetch-selected-data=\"fetchSelectedData\"\n  /\u003e\n\u003c/template\u003e\n\n\u003cscript setup lang=\"ts\"\u003e\nimport { ref } from 'vue'\nimport { SelectPageTable } from 'v-selectpage'\nimport type {\n  SelectPageKey, FetchSelectedDataCallback,\n  PageParameters, FetchDataCallback, SelectPageTableColumn\n} from 'v-selectpage'\n\nconst selected = ref\u003cSelectPageKey[]\u003e([2, 4, 7])\nconst columns: SelectPageTableColumn[] = [\n  { title: 'Id', data: 'id' },\n  { title: 'Team name', data: row =\u003e `${row.abbr} - ${row.name}`, width: 250 },\n  { title: 'Description', data: 'desc' }\n]\n\n// fetch current page data\nfunction fetchData (data: PageParameters, callback: FetchDataCallback) {\n  ...\n}\n// fetch selected items data\nfunction fetchSelectedData (keys: SelectPageKey[], callback: FetchSelectedDataCallback) {\n  // get data models by keys\n  doDataRequest({ keys }).then(resp =\u003e {\n    callback(resp)\n  })\n}\n\u003c/script\u003e\n```\n\n## Plugin preview\n\nList view for Single selection\n\n![single](https://terryz.github.io/image/v-selectpage/v3/selectpage-list-single.png)\n\nList view for multiple selection with tags form\n\n![multiple](https://terryz.github.io/image/v-selectpage/v3/selectpage-list-multiple.png)\n\nTable view for single selection\n\n![table](https://terryz.github.io/image/v-selectpage/v3/selectpage-table-single.png)\n\n## Dependencies\n\n- [v-dropdown](https://github.com/TerryZ/v-dropdown) - The dropdown container\n\n## License\n\n[![license](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://mit-license.org/)\n","funding_links":["https://opencollective.com/v-selectpage"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterryz%2Fv-selectpage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fterryz%2Fv-selectpage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterryz%2Fv-selectpage/lists"}