dydx-naive-ui-for-vue 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -60
- package/dist/dydx-naive-ui-for-vue.js +361 -378
- package/dist/dydx-naive-ui-for-vue.umd.cjs +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/web-types.json +2 -2
package/README.md
CHANGED
|
@@ -1,71 +1,80 @@
|
|
|
1
|
-
#
|
|
1
|
+
# DYDX Native UI for Vue
|
|
2
2
|
|
|
3
|
-
基于 Naive UI
|
|
3
|
+
基于 [Naive UI](https://www.naiveui.com/) 的 Vue 3 二次封装组件库,旨在提供更高效、易用的业务组件,简化开发流程。
|
|
4
4
|
|
|
5
|
-
## 特性
|
|
5
|
+
## ✨ 特性
|
|
6
6
|
|
|
7
|
-
- 🚀
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
7
|
+
- 🚀 **开箱即用**:封装了常用的业务组件,减少重复代码
|
|
8
|
+
- 📝 **Schema 驱动**:支持通过 JSON 配置生成表单和表格
|
|
9
|
+
- 🎨 **高度定制**:保留了 Naive UI 的灵活性,支持属性透传和插槽扩展
|
|
10
|
+
- � **响应式设计**:内置响应式布局支持
|
|
11
|
+
- 📘 **TypeScript**:全量 TypeScript 编写,提供完整的类型提示
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## 📦 包含组件
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
| 组件名 | 描述 | 文档 |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| **NaiveForm** | Schema 驱动的高级表单,支持动态分组、联动等 | [查看文档](./src/components/NaiveForm/README.md) |
|
|
18
|
+
| **NaiveTable** | 功能强大的数据表格,支持列设置、拖拽、分页等 | [查看文档](./src/components/NaiveTable/README.md) |
|
|
19
|
+
| **FormModal** | 基于表单的弹窗/抽屉组件,简化增删改查交互 | [查看文档](./src/components/FormModal/README.md) |
|
|
20
|
+
| **NaiveUpload** | 增强版上传组件,支持自定义上传、自动校验等 | [查看文档](./src/components/NaiveUpload/README.md) |
|
|
21
|
+
| **IconSelect** | 图标选择器,支持虚拟滚动和搜索 | [查看文档](./src/components/IconSelect/README.md) |
|
|
22
|
+
| **VerificationCode** | 验证码输入 + 倒计时按钮组合 | [查看文档](./src/components/VerificationCode/README.md) |
|
|
22
23
|
|
|
23
|
-
##
|
|
24
|
+
## 🧩 组合式函数 (Composables)
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
项目提供了一系列 Vue Composable 函数,用于处理通用逻辑。
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
| 函数名 | 描述 | 文档 |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| **useResponsive** | 全局响应式设备检测与配置管理 | [查看文档](./src/composables/README.md) |
|
|
28
31
|
|
|
29
|
-
|
|
30
|
-
import 'dydx-naive-ui-for-vue/style.css';
|
|
31
|
-
```
|
|
32
|
+
## 🛠️ 安装指南
|
|
32
33
|
|
|
33
|
-
###
|
|
34
|
+
### 环境要求
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
import DydxNaiveUI from 'dydx-naive-ui-for-vue';
|
|
36
|
+
- Node.js >= 16
|
|
37
|
+
- Vue >= 3.3
|
|
38
|
+
- Naive UI >= 2.34
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
### 安装依赖
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# 使用 pnpm (推荐)
|
|
44
|
+
pnpm install
|
|
44
45
|
|
|
45
|
-
|
|
46
|
+
# 或者使用 npm
|
|
47
|
+
npm install
|
|
46
48
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
import { DydxNaiveForm, DydxNaiveTable } from 'dydx-naive-ui-for-vue';
|
|
50
|
-
</script>
|
|
51
|
-
</script>
|
|
49
|
+
# 或者使用 yarn
|
|
50
|
+
yarn install
|
|
52
51
|
```
|
|
53
52
|
|
|
54
|
-
###
|
|
53
|
+
### 🔌 自动按需引入 (Resolver)
|
|
55
54
|
|
|
56
|
-
|
|
55
|
+
本库提供了用于 `unplugin-vue-components` 的 Resolver,支持自动按需引入组件。
|
|
57
56
|
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
1. **安装插件**:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
pnpm add -D unplugin-vue-components unplugin-auto-import
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
2. **配置 `vite.config.ts`**:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
import { defineConfig } from 'vite'
|
|
60
67
|
import Components from 'unplugin-vue-components/vite'
|
|
61
|
-
import {
|
|
62
|
-
import { DydxNaiveUIResolver } from 'dydx-naive-ui-for-vue/resolver'
|
|
68
|
+
import { DydxNaiveUIResolver } from 'dydx-naive-ui-for-vue'
|
|
63
69
|
|
|
64
70
|
export default defineConfig({
|
|
65
71
|
plugins: [
|
|
66
72
|
Components({
|
|
67
73
|
resolvers: [
|
|
68
|
-
|
|
74
|
+
// 自动引入 Naive UI 组件
|
|
75
|
+
// NaiveUiResolver(),
|
|
76
|
+
|
|
77
|
+
// 自动引入 DYDX Native UI 组件
|
|
69
78
|
DydxNaiveUIResolver()
|
|
70
79
|
]
|
|
71
80
|
})
|
|
@@ -73,26 +82,107 @@ export default defineConfig({
|
|
|
73
82
|
})
|
|
74
83
|
```
|
|
75
84
|
|
|
76
|
-
|
|
85
|
+
配置完成后,你可以直接在模板中使用组件(如 `<dydx-naive-form />`),无需手动 import。
|
|
86
|
+
|
|
87
|
+
## 🚀 快速开始
|
|
88
|
+
|
|
89
|
+
### 引入组件
|
|
90
|
+
|
|
91
|
+
在你的 Vue 项目中引入并注册组件:
|
|
92
|
+
|
|
93
|
+
```typescript
|
|
94
|
+
import { createApp } from 'vue'
|
|
95
|
+
import App from './App.vue'
|
|
96
|
+
import DydxNativeUI from 'dydx-naive-ui-for-vue'
|
|
97
|
+
import 'dydx-naive-ui-for-vue/dist/style.css'
|
|
98
|
+
|
|
99
|
+
const app = createApp(App)
|
|
100
|
+
app.use(DydxNativeUI)
|
|
101
|
+
app.mount('#app')
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
或者按需引入:
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
import { DydxNaiveForm, DydxNaiveTable } from 'dydx-naive-ui-for-vue'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## 📂 项目结构
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
dydx-native-ui-for-vue/
|
|
114
|
+
├── src/
|
|
115
|
+
│ ├── components/ # 组件源码
|
|
116
|
+
│ │ ├── FormModal/ # 表单弹窗组件
|
|
117
|
+
│ │ ├── IconSelect/ # 图标选择器
|
|
118
|
+
│ │ ├── NaiveForm/ # Schema 表单
|
|
119
|
+
│ │ ├── NaiveTable/ # 高级表格
|
|
120
|
+
│ │ ├── NaiveUpload/ # 上传组件
|
|
121
|
+
│ │ └── VerificationCode/ # 验证码组件
|
|
122
|
+
│ ├── composables/ # 组合式函数
|
|
123
|
+
│ ├── utils/ # 工具函数
|
|
124
|
+
│ └── index.ts # 入口文件
|
|
125
|
+
├── dist/ # 打包产物
|
|
126
|
+
├── package.json # 项目配置
|
|
127
|
+
└── README.md # 项目说明
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 💻 开发指南
|
|
131
|
+
|
|
132
|
+
### 启动开发环境
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
pnpm dev
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 代码检查与格式化
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# 运行 ESLint 和 TypeScript 检查
|
|
142
|
+
pnpm check
|
|
143
|
+
|
|
144
|
+
# 自动修复 Lint 错误
|
|
145
|
+
pnpm lint
|
|
77
146
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
- [NaiveUpload 上传组件](./src/components/NaiveUpload/README.md)
|
|
82
|
-
- [IconSelect 图标选择](./src/components/IconSelect/README.md)
|
|
147
|
+
# 格式化代码
|
|
148
|
+
pnpm format
|
|
149
|
+
```
|
|
83
150
|
|
|
84
|
-
##
|
|
151
|
+
## 🏗️ 构建与部署
|
|
85
152
|
|
|
86
|
-
|
|
153
|
+
### 构建库文件
|
|
87
154
|
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
/* 表格工具栏按钮阴影 */
|
|
91
|
-
--dydx-table-shadow: 0 1px 3px rgb(0 0 0 / 8%), 0 1px 2px rgb(0 0 0 / 6%);
|
|
92
|
-
--dydx-table-shadow-hover: 0 2px 6px rgb(0 0 0 / 12%), 0 2px 4px rgb(0 0 0 / 8%);
|
|
93
|
-
}
|
|
155
|
+
```bash
|
|
156
|
+
pnpm build
|
|
94
157
|
```
|
|
95
158
|
|
|
96
|
-
|
|
159
|
+
构建产物将输出到 `dist` 目录,包含 ES Module 和 UMD 格式的文件,以及类型定义文件。
|
|
160
|
+
|
|
161
|
+
### 发布
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
pnpm release
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## 🤝 贡献指南
|
|
168
|
+
|
|
169
|
+
1. Fork 本仓库
|
|
170
|
+
2. 创建新的特性分支 (`git checkout -b feature/AmazingFeature`)
|
|
171
|
+
3. 提交你的更改 (`git commit -m 'Add some AmazingFeature'`)
|
|
172
|
+
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
|
173
|
+
5. 提交 Pull Request
|
|
174
|
+
|
|
175
|
+
## 📄 许可证
|
|
176
|
+
|
|
177
|
+
本项目采用 MIT 许可证。
|
|
178
|
+
|
|
179
|
+
## ❓ 常见问题 (FAQ)
|
|
180
|
+
|
|
181
|
+
**Q: 是否兼容 Naive UI 的所有主题?**
|
|
182
|
+
A: 是的,所有组件均基于 Naive UI 构建,会自动继承全局的主题配置。
|
|
183
|
+
|
|
184
|
+
**Q: 如何自定义组件样式?**
|
|
185
|
+
A: 大多数组件都透传了 Naive UI 的属性,你可以使用 Naive UI 提供的样式覆盖机制,或者通过 CSS 深度选择器 (`:deep()`) 进行定制。
|
|
97
186
|
|
|
98
|
-
|
|
187
|
+
**Q: TypeScript 类型提示不显示怎么办?**
|
|
188
|
+
A: 请确保你的项目已经正确配置了 `tsconfig.json`,并且安装了最新版本的 VS Code 和 Volar 插件。
|