UNPKG

vue-dd-ui

Version:

基于 Element UI 二次封装的 Vue.js 组件库,提供17个精心设计的组件和70+工具函数

236 lines (175 loc) 5.28 kB
# Vue DD UI [![npm version](https://badge.fury.io/js/vue-dd-ui.svg)](https://www.npmjs.com/package/vue-dd-ui) [![npm downloads](https://img.shields.io/npm/dm/vue-dd-ui.svg)](https://www.npmjs.com/package/vue-dd-ui) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitee.com/zengdu/vue-dd-ui/blob/master/LICENSE) 🚀 基于 Element UI 二次封装的 Vue.js 企业级组件库 ## ✨ 特性 - 📦 **17个精心设计的组件** - 覆盖常见业务场景 - 🛠️ **完整的开发工具** - 支持按需加载、多种模块格式 - 📱 **响应式设计** - 移动端友好 - 🎨 **主题定制** - 支持自定义主题和样式 - ⚡ **性能优化** - 基于 ES modules,支持 tree shaking - 🔧 **70+工具函数** - 常用业务工具函数 - 📋 **详细文档** - 完整的使用说明和示例 ## 📦 安装 ```bash # npm npm install vue-dd-ui # yarn yarn add vue-dd-ui # pnpm pnpm add vue-dd-ui ``` ## 🚀 快速开始 ### 完整引入 ```javascript import Vue from "vue"; import VueDdUi from "vue-dd-ui"; // 引入样式文件 import "vue-dd-ui/src/css/index.css"; Vue.use(VueDdUi); ``` ### 按需引入 (推荐) ```javascript // ES模块方式 import { ddButton, ddForm, ddList } from "vue-dd-ui/es"; Vue.use(ddButton); Vue.use(ddForm); Vue.use(ddList); ``` ### CDN引用 ```html <!-- 引入Vue --> <script src="https://unpkg.com/vue@2.7.16/dist/vue.js"></script> <!-- 引入Element UI --> <script src="https://unpkg.com/element-ui/lib/index.js"></script> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css" /> <!-- 引入Vue DD UI --> <script src="https://unpkg.com/vue-dd-ui@1.1.0/dist/main.umd.js"></script> <link rel="stylesheet" href="https://unpkg.com/vue-dd-ui@1.1.0/src/css/index.css" /> ``` ## 🎯 组件概览 ### 基础组件 | 组件 | 说明 | 状态 | | ------ | ---------- | ---- | | Button | 按钮组件 | ✅ | | Icon | 图标组件 | ✅ | | Html | 富文本组件 | ✅ | ### 表单组件 | 组件 | 说明 | 状态 | | ----------- | ---------- | ---- | | Form | 动态表单 | ✅ | | Debounce | 防抖输入框 | ✅ | | BrowseFile | 文件浏览器 | ✅ | | ImgCropper | 图片裁剪 | ✅ | | SelectIcon | 图标选择器 | ✅ | | PopupSelect | 弹出选择器 | ✅ | | SelectTree | 树形选择器 | ✅ | ### 数据展示 | 组件 | 说明 | 状态 | | -------- | -------- | ---- | | List | 增强列表 | ✅ | | FoldCard | 折叠卡片 | ✅ | | Weather | 天气组件 | ✅ | | Ztree | 树形组件 | ✅ | ### 布局组件 | 组件 | 说明 | 状态 | | -------------- | ------------ | ---- | | LayoutAbsolute | 绝对定位布局 | ✅ | | Dialog | 对话框 | ✅ | ## 🔧 工具函数 提供70+个实用工具函数: ```javascript // 日期处理 this.$ddDateUtil.format(new Date(), "YYYY-MM-DD"); // 数组操作 this.$ddUnique([1, 1, 2, 3]); // [1,2,3] // 树形数据处理 this.$ddTreeToArray(treeData); // 文件下载 this.$ddDownloadFile(data, "filename.xlsx"); // 消息提示 this.$ddMessage("操作成功", "success"); // 更多... ``` ### 示例代码 ```vue <template> <div> <!-- 使用dd-button组件 --> <dd-button label="点击我" type="primary" @click="handleClick" /> <!-- 使用dd-form动态表单 --> <dd-form :formItems="formItems" :formData="formData" @submit="handleSubmit" /> <!-- 使用dd-list增强列表 --> <dd-list :columns="columns" :data="tableData" :pagination="true" /> </div> </template> <script> export default { data() { return { formItems: [ { prop: "name", label: "姓名", type: "input" }, { prop: "age", label: "年龄", type: "number" }, ], formData: { name: "", age: 0 }, columns: [ { prop: "name", label: "姓名" }, { prop: "age", label: "年龄" }, ], tableData: [], }; }, methods: { handleClick() { this.$ddMessage("按钮被点击了!", "success"); }, handleSubmit(data) { console.log("表单数据:", data); }, }, }; </script> ``` ## 📱 浏览器支持 | IE / Edge | Firefox | Chrome | Safari | | ---------- | --------------- | --------------- | --------------- | | IE11, Edge | last 2 versions | last 2 versions | last 2 versions | ## 🤝 贡献指南 我们欢迎所有的贡献! ### 开发 ```bash # 克隆项目 git clone https://gitee.com/zengdu/vue-dd-ui.git # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建 npm run build # 代码检查 npm run lint ``` ## 📄 更新日志 详细更改记录请查看 [CHANGELOG](./CHANGELOG.md)。 ## 📝 许可证 [MIT](./LICENSE) ## 💖 致谢 - [Element UI](https://element.eleme.cn/) - 优秀的 Vue.js 组件库 - [Vue.js](https://vuejs.org/) - 渐进式 JavaScript 框架 ## 🔗 相关链接 - [Gitee仓库](https://gitee.com/zengdu/vue-dd-ui) - [问题反馈](https://gitee.com/zengdu/vue-dd-ui/issues) --- ### 详细组件文档 [点击查看详细的组件使用文档](./COMPONENTS.md)