xt-element-ui 1.4.0 → 2.0.1

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.
Files changed (93) hide show
  1. package/CHANGELOG.md +37 -20
  2. package/README.md +39 -35
  3. package/docs/README.md +25 -15
  4. package/docs/components/base/xt-badge.md +139 -0
  5. package/docs/components/base/xt-bar.md +182 -0
  6. package/docs/components/base/xt-chart.md +183 -0
  7. package/docs/components/base/xt-date-picker.md +111 -0
  8. package/docs/components/base/xt-icon.md +154 -0
  9. package/docs/components/base/xt-line.md +145 -0
  10. package/docs/components/base/xt-multi.md +278 -0
  11. package/docs/components/base/xt-page.md +84 -0
  12. package/docs/components/base/xt-pie.md +175 -0
  13. package/docs/components/base/xt-progress.md +134 -0
  14. package/docs/components/base/xt-select-tree.md +141 -0
  15. package/docs/components/base/xt-table.md +344 -0
  16. package/docs/components/base/xt-tabs.md +197 -0
  17. package/docs/components/base/xt-upload.md +85 -0
  18. package/lib/index.common.js +604 -824
  19. package/lib/index.css +1 -1
  20. package/lib/index.umd.js +609 -830
  21. package/lib/index.umd.min.js +4 -4
  22. package/package.json +1 -1
  23. package/src/components/index.scss +2 -8
  24. package/src/components/xt-button/index.js +1 -1
  25. package/src/components/xt-button/index.vue +43 -73
  26. package/src/components/xt-button/style/index.scss +51 -787
  27. package/src/components/xt-card/index.js +1 -2
  28. package/src/components/xt-card/index.vue +61 -21
  29. package/src/components/xt-card/style/index.scss +56 -32
  30. package/src/components/xt-card-item/index.vue +3 -3
  31. package/src/components/xt-chart/index.js +8 -0
  32. package/src/components/{ex-chart → xt-chart}/index.vue +13 -13
  33. package/src/components/{ex-chart → xt-chart}/pieList.vue +1 -1
  34. package/src/components/{ex-chart → xt-chart}/utils.js +1 -1
  35. package/src/components/xt-config-provider/index.vue +1 -1
  36. package/src/components/xt-date-picker/index.js +8 -0
  37. package/src/components/{ex-date-picker → xt-date-picker}/index.vue +1 -1
  38. package/src/components/xt-icon/index.js +8 -0
  39. package/src/components/{ex-icon → xt-icon}/index.vue +4 -4
  40. package/src/components/xt-layout/ExFieldset.vue +1 -1
  41. package/src/components/xt-page/index.js +8 -0
  42. package/src/components/{ex-page → xt-page}/index.vue +1 -1
  43. package/src/components/xt-select-tree/index.js +8 -0
  44. package/src/components/{ex-select-tree → xt-select-tree}/index.vue +1 -1
  45. package/src/components/xt-step-price/index.vue +13 -3
  46. package/src/components/xt-step-price-item/index.vue +8 -3
  47. package/src/components/{ex-table/ExTableCell.vue → xt-table/XtTableCell.vue} +1 -1
  48. package/src/components/xt-table/index.js +8 -0
  49. package/src/components/{ex-table → xt-table}/index.vue +6 -6
  50. package/src/components/xt-text/index.vue +130 -0
  51. package/src/components/xt-upload/index.js +8 -0
  52. package/src/index.js +15 -29
  53. package/src/utils/index.js +1 -1
  54. package/docs/components/extend/ex-bar.md +0 -68
  55. package/docs/components/extend/ex-button.md +0 -62
  56. package/docs/components/extend/ex-card.md +0 -86
  57. package/docs/components/extend/ex-chart.md +0 -463
  58. package/docs/components/extend/ex-date-picker.md +0 -0
  59. package/docs/components/extend/ex-icon.md +0 -189
  60. package/docs/components/extend/ex-line.md +0 -71
  61. package/docs/components/extend/ex-multi.md +0 -156
  62. package/docs/components/extend/ex-page.md +0 -0
  63. package/docs/components/extend/ex-pie.md +0 -70
  64. package/docs/components/extend/ex-select-tree.md +0 -210
  65. package/docs/components/extend/ex-table.md +0 -591
  66. package/docs/components/extend/ex-upload.md +0 -134
  67. package/src/components/ex-button/index.js +0 -8
  68. package/src/components/ex-button/index.vue +0 -67
  69. package/src/components/ex-button/style/index.scss +0 -67
  70. package/src/components/ex-card/index.js +0 -7
  71. package/src/components/ex-card/index.vue +0 -68
  72. package/src/components/ex-card/style/index.scss +0 -73
  73. package/src/components/ex-chart/index.js +0 -8
  74. package/src/components/ex-date-picker/index.js +0 -8
  75. package/src/components/ex-icon/index.js +0 -8
  76. package/src/components/ex-page/index.js +0 -8
  77. package/src/components/ex-select-tree/index.js +0 -8
  78. package/src/components/ex-table/index.js +0 -8
  79. package/src/components/ex-upload/index.js +0 -8
  80. package/src/config/element-registry.js +0 -136
  81. /package/src/components/{ex-chart/ExBar.vue → xt-chart/XtBar.vue} +0 -0
  82. /package/src/components/{ex-chart/ExLine.vue → xt-chart/XtLine.vue} +0 -0
  83. /package/src/components/{ex-chart/ExMulti.vue → xt-chart/XtMulti.vue} +0 -0
  84. /package/src/components/{ex-chart/ExPie.vue → xt-chart/XtPie.vue} +0 -0
  85. /package/src/components/{ex-chart → xt-chart}/theme/dark.js +0 -0
  86. /package/src/components/{ex-chart → xt-chart}/theme/white.js +0 -0
  87. /package/src/components/{ex-date-picker → xt-date-picker}/SearchDate.vue +0 -0
  88. /package/src/components/{ex-date-picker → xt-date-picker}/quarter.vue +0 -0
  89. /package/src/components/{ex-icon → xt-icon}/style/index.scss +0 -0
  90. /package/src/components/{ex-table → xt-table}/VirtualElTable.vue +0 -0
  91. /package/src/components/{ex-table → xt-table}/virtualScrollData.js +0 -0
  92. /package/src/components/{ex-upload → xt-upload}/index.vue +0 -0
  93. /package/src/components/{ex-upload → xt-upload}/preview.vue +0 -0
@@ -0,0 +1,278 @@
1
+ ## XtMulti 组合图组件
2
+
3
+ 基于 ECharts 封装的组合图组件,支持多系列数据展示,自动根据单位分组使用不同 Y 轴。
4
+
5
+ ## 基本用法
6
+
7
+ ::: demo 基本用法
8
+ ```vue
9
+ <template>
10
+ <XtMulti :chart-data="chartData" />
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ data() {
16
+ return {
17
+ chartData: [
18
+ {
19
+ label: "入户数",
20
+ unit: "户",
21
+ data: [
22
+ { label: "01月", value: 980 },
23
+ { label: "02月", value: 806 },
24
+ { label: "03月", value: 930 }
25
+ ]
26
+ },
27
+ {
28
+ label: "隐患数",
29
+ unit: "个",
30
+ data: [
31
+ { label: "01月", value: 200 },
32
+ { label: "02月", value: 120 },
33
+ { label: "03月", value: 110 }
34
+ ]
35
+ }
36
+ ]
37
+ }
38
+ }
39
+ }
40
+ </script>
41
+ ```
42
+ :::
43
+
44
+ ## 属性说明
45
+
46
+ | 属性 | 类型 | 默认值 | 说明 |
47
+ |------|------|--------|------|
48
+ | `chartData` | Array | - | 图表数据,格式详见下方示例 |
49
+ | `fieldKeys` | Object | `{ label: "label", value: "value", data: "data" }` | 字段映射配置 |
50
+ | `theme` | String | - | 主题,`dark` 或 `default` |
51
+ | `size` | String | `medium` | 尺寸,`small` / `medium` / `large` |
52
+ | `colors` | Array | `[]` | 自定义颜色数组 |
53
+ | `simpleMode` | Boolean | `false` | 是否启用极简模式 |
54
+ | `highlightKey` | String | - | 高亮系列的 label |
55
+ | `config` | Object | - | 配置对象 |
56
+
57
+ ## config 配置说明
58
+
59
+ | 属性 | 类型 | 默认值 | 说明 |
60
+ |------|------|--------|------|
61
+ | `interval` | Number | `0` | X 轴标签间隔 |
62
+ | `rotate` | Number | `0` | X 轴标签旋转角度 |
63
+ | `gridbottom` | Number | `40` | 底部网格间距 |
64
+ | `isShowthreshold` | Boolean | `false` | 是否显示阈值线 |
65
+
66
+ ## 示例
67
+
68
+ ### 多单位组合图
69
+
70
+ ::: demo 多单位组合图
71
+ ```vue
72
+ <template>
73
+ <XtMulti :chart-data="chartData" />
74
+ </template>
75
+
76
+ <script>
77
+ export default {
78
+ data() {
79
+ return {
80
+ chartData: [
81
+ {
82
+ label: "销售额",
83
+ unit: "万元",
84
+ data: [
85
+ { label: "1月", value: 100 },
86
+ { label: "2月", value: 120 },
87
+ { label: "3月", value: 90 }
88
+ ]
89
+ },
90
+ {
91
+ label: "订单数",
92
+ unit: "单",
93
+ data: [
94
+ { label: "1月", value: 50 },
95
+ { label: "2月", value: 60 },
96
+ { label: "3月", value: 45 }
97
+ ]
98
+ },
99
+ {
100
+ label: "转化率",
101
+ unit: "%",
102
+ data: [
103
+ { label: "1月", value: 50 },
104
+ { label: "2月", value: 55 },
105
+ { label: "3月", value: 48 }
106
+ ]
107
+ }
108
+ ]
109
+ }
110
+ }
111
+ }
112
+ </script>
113
+ ```
114
+ :::
115
+
116
+ ### 折线与柱状图组合
117
+
118
+ ::: demo 折线与柱状图组合
119
+ ```vue
120
+ <template>
121
+ <XtMulti :chart-data="chartData" />
122
+ </template>
123
+
124
+ <script>
125
+ export default {
126
+ data() {
127
+ return {
128
+ chartData: [
129
+ {
130
+ label: "销售额",
131
+ unit: "万元",
132
+ type: "bar",
133
+ data: [
134
+ { label: "1月", value: 100 },
135
+ { label: "2月", value: 120 },
136
+ { label: "3月", value: 90 }
137
+ ]
138
+ },
139
+ {
140
+ label: "增长率",
141
+ unit: "%",
142
+ type: "line",
143
+ data: [
144
+ { label: "1月", value: 10 },
145
+ { label: "2月", value: 20 },
146
+ { label: "3月", value: -25 }
147
+ ]
148
+ }
149
+ ]
150
+ }
151
+ }
152
+ }
153
+ </script>
154
+ ```
155
+ :::
156
+
157
+ ### 自定义颜色
158
+
159
+ ::: demo 自定义颜色
160
+ ```vue
161
+ <template>
162
+ <XtMulti :chart-data="chartData" :colors="['#1890ff', '#52c41a', '#faad14']" />
163
+ </template>
164
+
165
+ <script>
166
+ export default {
167
+ data() {
168
+ return {
169
+ chartData: [
170
+ {
171
+ label: "A系列",
172
+ unit: "个",
173
+ data: [
174
+ { label: "1月", value: 100 },
175
+ { label: "2月", value: 120 }
176
+ ]
177
+ },
178
+ {
179
+ label: "B系列",
180
+ unit: "个",
181
+ data: [
182
+ { label: "1月", value: 80 },
183
+ { label: "2月", value: 90 }
184
+ ]
185
+ },
186
+ {
187
+ label: "C系列",
188
+ unit: "个",
189
+ data: [
190
+ { label: "1月", value: 60 },
191
+ { label: "2月", value: 70 }
192
+ ]
193
+ }
194
+ ]
195
+ }
196
+ }
197
+ }
198
+ </script>
199
+ ```
200
+ :::
201
+
202
+ ### 极简模式
203
+
204
+ ::: demo 极简模式
205
+ ```vue
206
+ <template>
207
+ <XtMulti :chart-data="chartData" simple-mode />
208
+ </template>
209
+
210
+ <script>
211
+ export default {
212
+ data() {
213
+ return {
214
+ chartData: [
215
+ {
216
+ label: "A",
217
+ data: [
218
+ { label: "1", value: 100 },
219
+ { label: "2", value: 120 }
220
+ ]
221
+ },
222
+ {
223
+ label: "B",
224
+ data: [
225
+ { label: "1", value: 80 },
226
+ { label: "2", value: 90 }
227
+ ]
228
+ }
229
+ ]
230
+ }
231
+ }
232
+ }
233
+ </script>
234
+ ```
235
+ :::
236
+
237
+ ### 暗色主题
238
+
239
+ ::: demo 暗色主题
240
+ ```vue
241
+ <template>
242
+ <XtMulti :chart-data="chartData" theme="dark" />
243
+ </template>
244
+
245
+ <script>
246
+ export default {
247
+ data() {
248
+ return {
249
+ chartData: [
250
+ {
251
+ label: "入户数",
252
+ unit: "户",
253
+ data: [
254
+ { label: "01月", value: 980 },
255
+ { label: "02月", value: 806 }
256
+ ]
257
+ },
258
+ {
259
+ label: "隐患数",
260
+ unit: "个",
261
+ data: [
262
+ { label: "01月", value: 200 },
263
+ { label: "02月", value: 120 }
264
+ ]
265
+ }
266
+ ]
267
+ }
268
+ }
269
+ }
270
+ </script>
271
+ ```
272
+ :::
273
+
274
+ ## 注意事项
275
+
276
+ - 相同 unit 的 series 会共用同一条 Y 轴
277
+ - 默认支持内部缩放(dataZoom)
278
+ - 每个 series 可以通过 `type` 属性指定图表类型(`bar` 或 `line`),默认为 `bar`
@@ -0,0 +1,84 @@
1
+ ## XtPage 页面组件
2
+
3
+ 页面布局组件,提供 header、main、footer、aside 区域的布局,支持高度自适应。
4
+
5
+ ## 基本用法
6
+
7
+ ::: demo 基本用法
8
+ ```vue
9
+ <template>
10
+ <XtPage>
11
+ <template #header>页面标题</template>
12
+ <template #default="{ tableHeight }">
13
+ <XtTable :height="tableHeight" :table-data="tableData" :columns="columns" />
14
+ </template>
15
+ <template #footer>页面底部</template>
16
+ </XtPage>
17
+ </template>
18
+
19
+ <script>
20
+ export default {
21
+ data() {
22
+ return {
23
+ tableData: [],
24
+ columns: []
25
+ }
26
+ }
27
+ }
28
+ </script>
29
+ ```
30
+ :::
31
+
32
+ ## 属性说明
33
+
34
+ | 属性 | 类型 | 默认值 | 说明 |
35
+ |------|------|--------|------|
36
+ | `showHeader` | Boolean | `true` | 是否显示头部 |
37
+ | `showFooter` | Boolean | `true` | 是否显示底部 |
38
+ | `showAside` | Boolean | `true` | 是否显示侧边栏 |
39
+ | `asideWidth` | String | - | 侧边栏宽度 |
40
+ | `diffHeight` | Number | `60` | 差值高度 |
41
+ | `minHeight` | Number | `200` | 最小高度 |
42
+
43
+ ## 插槽说明
44
+
45
+ | 插槽名 | 说明 |
46
+ |--------|------|
47
+ | `default` | 主内容区域,接收 `tableHeight` 参数 |
48
+ | `header` | 头部区域 |
49
+ | `footer` | 底部区域 |
50
+ | `aside` | 侧边栏区域 |
51
+ | `dialog` | 弹窗区域 |
52
+
53
+ ## 示例
54
+
55
+ ### 带侧边栏
56
+
57
+ ::: demo 带侧边栏
58
+ ```vue
59
+ <template>
60
+ <XtPage aside-width="200px">
61
+ <template #header>页面标题</template>
62
+ <template #aside>侧边栏内容</template>
63
+ <template #default>主内容</template>
64
+ </XtPage>
65
+ </template>
66
+ ```
67
+ :::
68
+
69
+ ### 仅主内容
70
+
71
+ ::: demo 仅主内容
72
+ ```vue
73
+ <template>
74
+ <XtPage :show-header="false" :show-footer="false">
75
+ <template #default>仅主内容区域</template>
76
+ </XtPage>
77
+ </template>
78
+ ```
79
+ :::
80
+
81
+ ## 注意事项
82
+
83
+ - 默认插槽会传入 `tableHeight` 参数,用于表格高度自适应
84
+ - 组件会监听窗口大小变化,自动调整表格高度
@@ -0,0 +1,175 @@
1
+ ## XtPie 饼图组件
2
+
3
+ 基于 ECharts 封装的饼图组件,支持环形图、玫瑰图、自定义颜色等功能。
4
+
5
+ ## 基本用法
6
+
7
+ ::: demo 基本用法
8
+ ```vue
9
+ <template>
10
+ <XtPie :chart-data="chartData" />
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ data() {
16
+ return {
17
+ chartData: [
18
+ { value: 53, label: "张三" },
19
+ { value: 10, label: "李四" },
20
+ { value: 60, label: "宋五" }
21
+ ]
22
+ }
23
+ }
24
+ }
25
+ </script>
26
+ ```
27
+ :::
28
+
29
+ ## 属性说明
30
+
31
+ | 属性 | 类型 | 默认值 | 说明 |
32
+ |------|------|--------|------|
33
+ | `chartData` | Array | - | 图表数据,格式为 `[{ label, value }]` |
34
+ | `fieldKeys` | Object | `{ label: "label", value: "value", data: "data" }` | 字段映射配置 |
35
+ | `theme` | String | - | 主题,`dark` 或 `default` |
36
+ | `size` | String | `medium` | 尺寸,`small` / `medium` / `large` |
37
+ | `colors` | Array | `[]` | 自定义颜色数组 |
38
+ | `unit` | String | `""` | 数据单位 |
39
+ | `showLegend` | Boolean | `true` | 是否显示图例 |
40
+ | `simpleMode` | Boolean | `false` | 是否启用极简模式 |
41
+ | `roseType` | String | `""` | 玫瑰图类型,`""` / `radius` / `area` |
42
+ | `showLabel` | Boolean | `true` | 是否显示标签 |
43
+ | `totalLabel` | String | `"总数"` | 中心总数标签文本 |
44
+
45
+ ## 示例
46
+
47
+ ### 玫瑰图
48
+
49
+ ::: demo 玫瑰图
50
+ ```vue
51
+ <template>
52
+ <XtPie :chart-data="chartData" rose-type="radius" />
53
+ </template>
54
+
55
+ <script>
56
+ export default {
57
+ data() {
58
+ return {
59
+ chartData: [
60
+ { value: 53, label: "北京" },
61
+ { value: 60, label: "上海" },
62
+ { value: 78, label: "广州" },
63
+ { value: 82, label: "深圳" },
64
+ { value: 95, label: "杭州" }
65
+ ]
66
+ }
67
+ }
68
+ }
69
+ </script>
70
+ ```
71
+ :::
72
+
73
+ ### 隐藏图例
74
+
75
+ ::: demo 隐藏图例
76
+ ```vue
77
+ <template>
78
+ <XtPie :chart-data="chartData" :show-legend="false" />
79
+ </template>
80
+
81
+ <script>
82
+ export default {
83
+ data() {
84
+ return {
85
+ chartData: [
86
+ { value: 30, label: "A" },
87
+ { value: 25, label: "B" },
88
+ { value: 20, label: "C" },
89
+ { value: 25, label: "D" }
90
+ ]
91
+ }
92
+ }
93
+ }
94
+ </script>
95
+ ```
96
+ :::
97
+
98
+ ### 自定义颜色
99
+
100
+ ::: demo 自定义颜色
101
+ ```vue
102
+ <template>
103
+ <XtPie :chart-data="chartData" :colors="['#1890ff', '#52c41a', '#faad14', '#f5222d']" />
104
+ </template>
105
+
106
+ <script>
107
+ export default {
108
+ data() {
109
+ return {
110
+ chartData: [
111
+ { value: 30, label: "红色" },
112
+ { value: 25, label: "蓝色" },
113
+ { value: 20, label: "绿色" },
114
+ { value: 25, label: "黄色" }
115
+ ]
116
+ }
117
+ }
118
+ }
119
+ </script>
120
+ ```
121
+ :::
122
+
123
+ ### 极简模式
124
+
125
+ ::: demo 极简模式
126
+ ```vue
127
+ <template>
128
+ <XtPie :chart-data="chartData" simple-mode />
129
+ </template>
130
+
131
+ <script>
132
+ export default {
133
+ data() {
134
+ return {
135
+ chartData: [
136
+ { value: 30, label: "A" },
137
+ { value: 25, label: "B" },
138
+ { value: 20, label: "C" },
139
+ { value: 25, label: "D" }
140
+ ]
141
+ }
142
+ }
143
+ }
144
+ </script>
145
+ ```
146
+ :::
147
+
148
+ ### 暗色主题
149
+
150
+ ::: demo 暗色主题
151
+ ```vue
152
+ <template>
153
+ <XtPie :chart-data="chartData" theme="dark" />
154
+ </template>
155
+
156
+ <script>
157
+ export default {
158
+ data() {
159
+ return {
160
+ chartData: [
161
+ { value: 53, label: "张三" },
162
+ { value: 60, label: "李四" },
163
+ { value: 78, label: "王五" }
164
+ ]
165
+ }
166
+ }
167
+ }
168
+ </script>
169
+ ```
170
+ :::
171
+
172
+ ## 注意事项
173
+
174
+ - 饼图中心会自动显示总数
175
+ - 最小扇区角度为 5 度,小于此角度的扇区会合并显示
@@ -0,0 +1,134 @@
1
+ ## XtProgress 进度条组件
2
+
3
+ 进度条组件,用于展示任务完成进度。
4
+
5
+ ## 基本用法
6
+
7
+ ::: demo 基本用法
8
+ ```vue
9
+ <template>
10
+ <XtProgress :percentage="60" />
11
+ </template>
12
+ ```
13
+ :::
14
+
15
+ ## 属性说明
16
+
17
+ | 属性 | 类型 | 默认值 | 可选值 | 说明 |
18
+ |------|------|--------|--------|------|
19
+ | `percentage` | Number | `0` | 0-100 | 进度百分比 |
20
+ | `type` | String | `line` | `line`、`circle`、`dashboard` | 进度条类型 |
21
+ | `strokeWidth` | Number | `6` | - | 进度条宽度 |
22
+ | `color` | String / Array | `#1890ff` | - | 进度条颜色 |
23
+ | `status` | String | - | `success`、`exception`、`normal` | 状态 |
24
+ | `width` | Number | `126` | - | 环形进度条宽度 |
25
+ | `textInside` | Boolean | `false` | - | 是否将进度百分比显示在进度条内 |
26
+ | `showText` | Boolean | `true` | - | 是否显示进度百分比 |
27
+ | `format` | Function | - | - | 自定义进度条文字内容 |
28
+
29
+ ## 示例
30
+
31
+ ### 不同类型的进度条
32
+
33
+ ::: demo 不同类型的进度条
34
+ ```vue
35
+ <template>
36
+ <div style="display: flex; flex-direction: column; gap: 16px;">
37
+ <XtProgress :percentage="60" />
38
+ <XtProgress type="circle" :percentage="60" />
39
+ <XtProgress type="dashboard" :percentage="60" />
40
+ </div>
41
+ </template>
42
+ ```
43
+ :::
44
+
45
+ ### 不同状态
46
+
47
+ ::: demo 不同状态
48
+ ```vue
49
+ <template>
50
+ <div style="display: flex; flex-direction: column; gap: 16px;">
51
+ <XtProgress :percentage="100" status="success" />
52
+ <XtProgress :percentage="60" status="normal" />
53
+ <XtProgress :percentage="60" status="exception" />
54
+ </div>
55
+ </template>
56
+ ```
57
+ :::
58
+
59
+ ### 自定义颜色
60
+
61
+ ::: demo 自定义颜色
62
+ ```vue
63
+ <template>
64
+ <div style="display: flex; flex-direction: column; gap: 16px;">
65
+ <XtProgress :percentage="60" color="#52c41a" />
66
+ <XtProgress :percentage="60" color="#faad14" />
67
+ <XtProgress :percentage="60" color="#f5222d" />
68
+ </div>
69
+ </template>
70
+ ```
71
+ :::
72
+
73
+ ### 文字在进度条内
74
+
75
+ ::: demo 文字在进度条内
76
+ ```vue
77
+ <template>
78
+ <XtProgress :percentage="60" :text-inside="true" :stroke-width="20" />
79
+ </template>
80
+ ```
81
+ :::
82
+
83
+ ### 自定义宽度
84
+
85
+ ::: demo 自定义宽度
86
+ ```vue
87
+ <template>
88
+ <div style="display: flex; flex-direction: column; gap: 16px;">
89
+ <XtProgress :percentage="60" :stroke-width="3" />
90
+ <XtProgress :percentage="60" :stroke-width="6" />
91
+ <XtProgress :percentage="60" :stroke-width="12" />
92
+ </div>
93
+ </template>
94
+ ```
95
+ :::
96
+
97
+ ### 自定义文字格式
98
+
99
+ ::: demo 自定义文字格式
100
+ ```vue
101
+ <template>
102
+ <XtProgress :percentage="60" :format="(percent) => `${percent}% 完成`" />
103
+ </template>
104
+ ```
105
+ :::
106
+
107
+ ### 环形进度条
108
+
109
+ ::: demo 环形进度条
110
+ ```vue
111
+ <template>
112
+ <div style="display: flex; gap: 32px;">
113
+ <XtProgress type="circle" :percentage="60" />
114
+ <XtProgress type="circle" :percentage="60" :width="80" />
115
+ <XtProgress type="circle" :percentage="60" :width="150" />
116
+ </div>
117
+ </template>
118
+ ```
119
+ :::
120
+
121
+ ### 仪表盘
122
+
123
+ ::: demo 仪表盘
124
+ ```vue
125
+ <template>
126
+ <XtProgress type="dashboard" :percentage="60" />
127
+ </template>
128
+ ```
129
+ :::
130
+
131
+ ## 注意事项
132
+
133
+ - `percentage` 属性值应在 0-100 之间
134
+ - 环形进度条默认宽度为 126px,可以通过 `width` 属性调整