{"id":17806209,"url":"https://github.com/pdsuwwz/hoc-element-table","last_synced_at":"2026-03-02T23:31:16.627Z","repository":{"id":37987293,"uuid":"252407406","full_name":"pdsuwwz/hoc-element-table","owner":"pdsuwwz","description":"📦  基于 Vue3 + Webpack5 + Element Plus Table 二次构建表格组件，开箱即用 A Vue 3.x Table Component built on Webpack 5 该组件库可供学习、参考和用于二次开发","archived":false,"fork":false,"pushed_at":"2026-02-24T11:08:12.000Z","size":3225,"stargazers_count":38,"open_issues_count":18,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-24T16:32:20.212Z","etag":null,"topics":["component-library","configuration","el-table","element","element-plus","element-ui","frontend","hoc","hoc-el-table","javascript","table","vue","vue-components","vue2","vue3","webpack5"],"latest_commit_sha":null,"homepage":"https://pdsuwwz.github.io/hoc-element-table/","language":"Vue","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/pdsuwwz.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-02T09:11:03.000Z","updated_at":"2024-07-31T02:00:12.000Z","dependencies_parsed_at":"2025-11-27T09:08:29.056Z","dependency_job_id":null,"html_url":"https://github.com/pdsuwwz/hoc-element-table","commit_stats":{"total_commits":102,"total_committers":5,"mean_commits":20.4,"dds":0.5588235294117647,"last_synced_commit":"56cb5e2efb6577159f259d046533bed2a0efa8cf"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/pdsuwwz/hoc-element-table","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdsuwwz%2Fhoc-element-table","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdsuwwz%2Fhoc-element-table/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdsuwwz%2Fhoc-element-table/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdsuwwz%2Fhoc-element-table/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pdsuwwz","download_url":"https://codeload.github.com/pdsuwwz/hoc-element-table/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdsuwwz%2Fhoc-element-table/sbom","scorecard":{"id":500082,"data":{"date":"2025-08-11","repo":{"name":"github.com/pdsuwwz/hoc-element-table","commit":"56cb5e2efb6577159f259d046533bed2a0efa8cf"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/6 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"36 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-c7qv-q95q-8v27","Warn: Project is vulnerable to: GHSA-4www-5p9h-95mh","Warn: Project is vulnerable to: GHSA-9gqv-wp59-fq42","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq","Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488","Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-4wf5-vphf-c2xc","Warn: Project is vulnerable to: GHSA-hc6q-2mpp-qw7j","Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986","Warn: Project is vulnerable to: GHSA-wr3j-pwj9-hqq6","Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T21:36:35.449Z","repository_id":37987293,"created_at":"2025-08-19T21:36:35.450Z","updated_at":"2025-08-19T21:36:35.450Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30025016,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T23:03:42.610Z","status":"ssl_error","status_checked_at":"2026-03-02T23:00:47.223Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["component-library","configuration","el-table","element","element-plus","element-ui","frontend","hoc","hoc-el-table","javascript","table","vue","vue-components","vue2","vue3","webpack5"],"created_at":"2024-10-27T13:04:48.800Z","updated_at":"2026-03-02T23:31:16.609Z","avatar_url":"https://github.com/pdsuwwz.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @hoc-element/table\n\n[![npm](https://img.shields.io/npm/v/@hoc-element/table)](https://www.npmjs.com/package/@hoc-element/table)\n[![license](https://img.shields.io/npm/l/@hoc-element/table)](https://github.com/pdsuwwz/hoc-element-table/blob/main/LICENSE)\n\n📦 基于 Webpack 5 构建，重构成 Vue 3.x，二次封装了 element-plus 库中的 table，通过配置文件的方式即可生成 `table` 表格, 无需再写大量的诸如 `\u003cel-xxx\u003e` 的模板，实现更高的自由度，旨在减少重复的操作，让开发变得更高效。\n\n\u003e 该组件库可供学习、参考和用于二次开发\n\n**[Live demo](https://pdsuwwz.github.io/hoc-element-table)** \n\n## Version\n\n* Vue 3.x 版本 ｜ [Vue 2.x 版本](https://github.com/pdsuwwz/hoc-element-table/tree/vue2.0)\n\n## Screenshot\n\n\u003cimg width=\"1440\" alt=\"image\" src=\"https://user-images.githubusercontent.com/19891724/168956876-b2d2b710-0c32-49d5-9048-a196ac33a818.png\"\u003e\n\n## Environment Support\n\n* Vue 3.2.x\n\n## Install\n\n```shell\nnpm install @hoc-element/table\n\n# or\n\npnpm add @hoc-element/table\n```\n\n## Quick Start\n\n* 使用前请安装 [element-plus](https://www.npmjs.com/package/element-plus)\n\n```js\nimport { createApp } from 'vue'\nimport ElementPlus from 'element-plus'\nimport HocElTable from '@hoc-element/table'\nimport App from './App.vue'\n\ncreateApp(App)\n  .use(ElementPlus)\n  .use(HocElTable)\n  .mount('#app')\n\n```\n\n## Changelog\n\nDetailed changes for each release are documented in the [release notes](https://github.com/pdsuwwz/hoc-element-table/releases)\n\n## Feature\n\n- [x] 基于 Webpack 5 构建\n- [x] 全面支持 Vue 3\n- [x] 支持 `JSON` 序列化表格快速配置\n- [x] 已内置 `Pagination` 分页\n- [x] 支持自定义 `prop` 列名\n- [x] 支持单元格内容自定义渲染 【见 [单元格渲染配置说明](#单元格渲染配置说明)】\n- [x] 支持自定义单元格 `style` 样式\n- [x] 支持绑定自定义指令 `directives`\n- [x] 支持绑定 `element-plus` 原生 `Table` 的 `Events` 和 `Methods`\n- [x] 支持 `Header` 和 `Pagination` 的显隐控制\n\n## 单元格渲染配置说明\n\n| 方法 | 说明 | 场景 |\n| -------- | -------- | -------- |\n| --- | 渲染单元格的 attrs.prop 对应的键值 | 适用于直接显示 prop 的值场景 |\n| render | 渲染字符串 | 适用于对默认 prop 的值做一些微处理的场景 |\n| renderHTML | 渲染指定的 DOM 元素 | 适用于展示 Action，一般用在最后一列（目前只支持 el-button 的渲染，详见 Example） |\n| renderComponent | 渲染组件 | 适用于单元格内需要展示复杂内容的场景，详见 Example |\n\n## Example\n\n这是比较全的例子，几乎囊括了 API 的所有用法，源码戳这： [Code](https://github.com/pdsuwwz/hoc-element-table/tree/main/example/src/components/table-list.vue)\n\n## Deploy\n\n见仓库 [📥  hoc-element-table-build](https://github.com/pdsuwwz/hoc-element-table-build)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdsuwwz%2Fhoc-element-table","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpdsuwwz%2Fhoc-element-table","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdsuwwz%2Fhoc-element-table/lists"}