# lite-tree **Repository Path**: zhangfisher/lite-tree ## Basic Information - **Project Name**: lite-tree - **Description**: react/vue树组件 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-03-20 - **Last Updated**: 2025-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LiteTree [中文](./readme_CN.md) | [English](./readme.md) [Document](https://zhangfisher.github.io/lite-tree/) `LiteTree`是一款轻量小巧的树组件,包含`@lite-tree/react`和`@lite-tree/vue`两个包,它的设计初衷是为了在`vitepress/dumi`等静态网站更加方便地显示树。 我们知道,树组件非常多,一般情况下,均采用`JSON`来描述树,因为`JSON`格式在`Markdown`中不太友好,而`LiteTree`采用了一种类似`YAML`的缩进格式,非常适合在`Markdown`中使用。 **特性:** - 体积小,不依赖任何第三方库 - 包含`React/Vue`两个版本 - 支持`lite`格式,非常适合在`Markdown`中使用 - 默认通过`slot/children`传递树数据,非常方便 - 支持自定义节点样式、标签、备注、图标等 - 支持非标`JSON`数据,具备良好的容错性 ## 安装 - **React** ```bash npm install @lite-tree/react // or yarn add @lite-tree/react // or pnpm add @lite-tree/react ``` - **Vue** ```bash npm install @lite-tree/vue // or yarn add @lite-tree/vue // or pnpm add @lite-tree/vue ``` ## 使用 以在`vitepress`中使用为例. - **第1步: 配置** 在`.vitepress/config.mts`中配置`Vue`参数,如下: ```ts {5-9} // .vitepress/config.mts export default defineConfig({ // ... vue:{ template: { compilerOptions: { whitespace: 'preserve' // [!code ++] } } } }) ``` - **第2步: 注册组件** 将`LiteTree`注册为全局组件,以便在任何地方都可以使用。 ```ts // .vitepress/theme/index.js import DefaultTheme from 'vitepress/theme' import { LiteTree } from '@lite-tree/vue' /** @type {import('vitepress').Theme} */ export default { extends: DefaultTheme, enhanceApp({ app }) { // 注册自定义全局组件 app.component('LiteTree',LiteTree) } } ``` - **第3步: 使用** ```md #error=color:red;border: 1px solid red;background:#ffd2d2;padding:2px; #blue=color:red;border: 1px solid blue;background:#e6e6ff;padding:2px; airplane=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI1NiI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjM1LjU4IDEyOC44NEwxNjAgOTEuMDZWNDhhMzIgMzIgMCAwIDAtNjQgMHY0My4wNmwtNzUuNTggMzcuNzhBOCA4IDAgMCAwIDE2IDEzNnYzMmE4IDggMCAwIDAgOS41NyA3Ljg0TDk2IDE2MS43NnYxOC45M2wtMTMuNjYgMTMuNjVBOCA4IDAgMCAwIDgwIDIwMHYzMmE4IDggMCAwIDAgMTEgNy40M2wzNy0xNC44MWwzNyAxNC44MWE4IDggMCAwIDAgMTEtNy40M3YtMzJhOCA4IDAgMCAwLTIuMzQtNS42NkwxNjAgMTgwLjY5di0xOC45M2w3MC40MyAxNC4wOEE4IDggMCAwIDAgMjQwIDE2OHYtMzJhOCA4IDAgMCAwLTQuNDItNy4xNk0yMjQgMTU4LjI0bC03MC40My0xNC4wOEE4IDggMCAwIDAgMTQ0IDE1MnYzMmE4IDggMCAwIDAgMi4zNCA1LjY2TDE2MCAyMDMuMzF2MTYuODdsLTI5LTExLjYxYTggOCAwIDAgMC01Ljk0IDBMOTYgMjIwLjE4di0xNi44N2wxMy42Ni0xMy42NUE4IDggMCAwIDAgMTEyIDE4NHYtMzJhOCA4IDAgMCAwLTkuNTctNy44NEwzMiAxNTguMjR2LTE3LjNsNzUuNTgtMzcuNzhBOCA4IDAgMCAwIDExMiA5NlY0OGExNiAxNiAwIDAgMSAzMiAwdjQ4YTggOCAwIDAgMCA0LjQyIDcuMTZMMjI0IDE0MC45NFoiLz48L3N2Zz4= ts=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTUgMTUiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTIuNSA4di0uMTY3YzAtLjczNi0uNTk3LTEuMzMzLTEuMzMzLTEuMzMzSDEwYTEuNSAxLjUgMCAxIDAgMCAzaDFhMS41IDEuNSAwIDAgMSAwIDNoLTFBMS41IDEuNSAwIDAgMSA4LjUgMTFNOCA2LjVIM20yLjUgMFYxM00uNS41aDE0djE0SC41eiIvPjwvc3ZnPg== --- - [airplane]A公司({color:red;}重点,{#blue}紧急) // 企业名称 行政中心 {color:red;font-weight:bold;background:#ffeaea}总裁办 [checked]人力资源部 [unchecked]{.blue}财务部 行政部 //+ 负责行政管理 法务部 //+ 打官司等 [airplane]审计部 //+ 审计财务[保存:tag](sss) [连接](sss) 信息中心 // 重点[保存](www.baidu.com)[tag][连接:tag](www.baidu.com) [star]安[star]全[star]保[star]卫[star]部[star] //{color:red} 保密工作 + 市场中心 市场部({#error}出错,"{#warning}警告") 销售部 //- 客服部 //- {#blue}品牌部 // this is cool 市场策划部 //! 重点 市场营销部 // {.blue}this is cool 研发中心 移动研发部 //! 平台研发部({success}Java,{error}Go) {.success}测试部 运维部 产品部 //* 设计部 //* 项目管理部 //* ``` **渲染效果如下:** ![](./docs/tree.png) ## 推荐 - [全流程一健化React/Vue/Nodejs国际化方案 - VoerkaI18n](https://zhangfisher.github.io/voerka-i18n/) - [无以伦比的React表单开发库 - speedform](https://zhangfisher.github.io/speed-form/) - [终端界面开发增强库 - Logsets](https://zhangfisher.github.io/logsets/) - [简单的日志输出库 - VoerkaLogger](https://zhangfisher.github.io/voerkalogger/) - [装饰器开发 - FlexDecorators](https://zhangfisher.github.io/flex-decorators/) - [有限状态机库 - FlexState](https://zhangfisher.github.io/flexstate/) - [通用函数工具库 - FlexTools](https://zhangfisher.github.io/flex-tools/) - [小巧优雅的CSS-IN-JS库 - Styledfc](https://zhangfisher.github.io/styledfc/) - [为JSON文件添加注释的VSCODE插件 - json_comments_extension](https://github.com/zhangfisher/json_comments_extension) - [开发交互式命令行程序库 - mixed-cli](https://github.com/zhangfisher/mixed-cli) - [强大的字符串插值变量处理工具库 - flexvars](https://github.com/zhangfisher/flexvars) - [前端link调试辅助工具 - yald](https://github.com/zhangfisher/yald) - [异步信号 - asyncsignal](https://github.com/zhangfisher/asyncsignal) - [捆绑Vue组件CSS到JS的插件 - vite-plugin-vue-style-bundler ](https://github.com/zhangfisher/vite-plugin-vue-style-bundler) - [轻量树组件 - LiteTree](https://github.com/zhangfisher/lite-tree)