pit-docs-mcp 1.0.2
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 +180 -0
- package/dist/codegen.d.ts +5 -0
- package/dist/codegen.d.ts.map +1 -0
- package/dist/codegen.js +112 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +10 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +115 -0
- package/dist/resources.d.ts +3 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +80 -0
- package/dist/tools.d.ts +3 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +258 -0
- package/dist/utils.d.ts +26 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +198 -0
- package/docs/codegen/pit-simplify-web.md +686 -0
- package/docs/pitBusinessUi/README.md +102 -0
- package/docs/pitBusinessUi/add-date-picker.md +57 -0
- package/docs/pitBusinessUi/add-operation.md +64 -0
- package/docs/pitBusinessUi/batch-download.md +44 -0
- package/docs/pitBusinessUi/bill-tree-dialog.md +82 -0
- package/docs/pitBusinessUi/collapse.md +88 -0
- package/docs/pitBusinessUi/date-time-picker.md +74 -0
- package/docs/pitBusinessUi/design-report-explain.md +47 -0
- package/docs/pitBusinessUi/dialog.md +89 -0
- package/docs/pitBusinessUi/dic-radio.md +67 -0
- package/docs/pitBusinessUi/dic.md +78 -0
- package/docs/pitBusinessUi/document-preview.md +54 -0
- package/docs/pitBusinessUi/drawer.md +67 -0
- package/docs/pitBusinessUi/editor.md +63 -0
- package/docs/pitBusinessUi/expand-search-form.md +65 -0
- package/docs/pitBusinessUi/file-preview.md +56 -0
- package/docs/pitBusinessUi/flow-table-status.md +47 -0
- package/docs/pitBusinessUi/icon-box.md +74 -0
- package/docs/pitBusinessUi/image-preview.md +55 -0
- package/docs/pitBusinessUi/image.md +53 -0
- package/docs/pitBusinessUi/input-formatter.md +100 -0
- package/docs/pitBusinessUi/input-number.md +47 -0
- package/docs/pitBusinessUi/input-select.md +68 -0
- package/docs/pitBusinessUi/input.md +56 -0
- package/docs/pitBusinessUi/jm-preview.md +47 -0
- package/docs/pitBusinessUi/json-editor.md +71 -0
- package/docs/pitBusinessUi/loading-btn.md +64 -0
- package/docs/pitBusinessUi/monaco.md +82 -0
- package/docs/pitBusinessUi/money-input.md +59 -0
- package/docs/pitBusinessUi/pagination.md +70 -0
- package/docs/pitBusinessUi/password-strength.md +59 -0
- package/docs/pitBusinessUi/positive-number.md +63 -0
- package/docs/pitBusinessUi/preview-image.md +62 -0
- package/docs/pitBusinessUi/preview-office.md +50 -0
- package/docs/pitBusinessUi/preview.md +57 -0
- package/docs/pitBusinessUi/quill.md +52 -0
- package/docs/pitBusinessUi/runflow-btn.md +52 -0
- package/docs/pitBusinessUi/search-date-picker.md +60 -0
- package/docs/pitBusinessUi/select-bid-list.md +66 -0
- package/docs/pitBusinessUi/select-color.md +38 -0
- package/docs/pitBusinessUi/select-contract-tree.md +41 -0
- package/docs/pitBusinessUi/select-dept.md +38 -0
- package/docs/pitBusinessUi/select-project-unit.md +48 -0
- package/docs/pitBusinessUi/select-section-tree.md +45 -0
- package/docs/pitBusinessUi/select-section.md +66 -0
- package/docs/pitBusinessUi/select-string.md +60 -0
- package/docs/pitBusinessUi/select-system-unit.md +41 -0
- package/docs/pitBusinessUi/select-user-by-role.md +51 -0
- package/docs/pitBusinessUi/switch.md +43 -0
- package/docs/pitBusinessUi/table-contract.md +66 -0
- package/docs/pitBusinessUi/table-operation.md +81 -0
- package/docs/pitBusinessUi/table.md +75 -0
- package/docs/pitBusinessUi/tag.md +86 -0
- package/docs/pitBusinessUi/textarea.md +65 -0
- package/docs/pitBusinessUi/transfer-direct.md +57 -0
- package/docs/pitBusinessUi/transfer-user-project.md +78 -0
- package/docs/pitBusinessUi/transfer.md +68 -0
- package/docs/pitBusinessUi/tree-lazy.md +72 -0
- package/docs/pitBusinessUi/tree-select-name.md +59 -0
- package/docs/pitBusinessUi/tree-select-plus.md +106 -0
- package/docs/pitBusinessUi/tree-select.md +86 -0
- package/docs/pitBusinessUi/upload-avatar.md +60 -0
- package/docs/pitBusinessUi/upload-file-dialog.md +86 -0
- package/docs/pitBusinessUi/upload-file.md +77 -0
- package/docs/pitBusinessUi/upload-list-card.md +62 -0
- package/docs/pitBusinessUi/upload-table.md +77 -0
- package/docs/pitBusinessUi/user-transform.md +72 -0
- package/docs/pitBusinessUi/utils.md +272 -0
- package/docs/pitBusinessUtils/README.md +144 -0
- package/docs/pitBusinessUtils/auth.md +170 -0
- package/docs/pitBusinessUtils/clipboard.md +72 -0
- package/docs/pitBusinessUtils/filePreview.md +60 -0
- package/docs/pitBusinessUtils/formValidate.md +75 -0
- package/docs/pitBusinessUtils/generateTitle.md +49 -0
- package/docs/pitBusinessUtils/get-page-title.md +65 -0
- package/docs/pitBusinessUtils/i18n.md +130 -0
- package/docs/pitBusinessUtils/jwks.md +82 -0
- package/docs/pitBusinessUtils/oss.md +391 -0
- package/docs/pitBusinessUtils/passwordValidate.md +120 -0
- package/docs/pitBusinessUtils/pit.md +496 -0
- package/docs/pitBusinessUtils/print.md +126 -0
- package/docs/pitBusinessUtils/request.md +137 -0
- package/docs/pitBusinessUtils/scroll-to.md +68 -0
- package/docs/pitBusinessUtils/utils.md +762 -0
- package/docs/pitBusinessUtils/validate.md +224 -0
- package/docs/pitElementUi/alert.md +238 -0
- package/docs/pitElementUi/avatar.md +147 -0
- package/docs/pitElementUi/backtop.md +60 -0
- package/docs/pitElementUi/badge.md +120 -0
- package/docs/pitElementUi/base-tabs.md +73 -0
- package/docs/pitElementUi/border.md +135 -0
- package/docs/pitElementUi/breadcrumb.md +44 -0
- package/docs/pitElementUi/button.md +301 -0
- package/docs/pitElementUi/calendar.md +66 -0
- package/docs/pitElementUi/card.md +170 -0
- package/docs/pitElementUi/carousel.md +212 -0
- package/docs/pitElementUi/cascader.md +1966 -0
- package/docs/pitElementUi/checkbox.md +283 -0
- package/docs/pitElementUi/collapse.md +131 -0
- package/docs/pitElementUi/color-picker.md +123 -0
- package/docs/pitElementUi/color.md +244 -0
- package/docs/pitElementUi/container.md +240 -0
- package/docs/pitElementUi/custom-theme.md +131 -0
- package/docs/pitElementUi/date-picker.md +448 -0
- package/docs/pitElementUi/datetime-picker.md +254 -0
- package/docs/pitElementUi/descriptions.md +191 -0
- package/docs/pitElementUi/dialog-header.md +53 -0
- package/docs/pitElementUi/dialog.md +239 -0
- package/docs/pitElementUi/divider.md +61 -0
- package/docs/pitElementUi/drawer.md +307 -0
- package/docs/pitElementUi/dropdown.md +308 -0
- package/docs/pitElementUi/empty.md +61 -0
- package/docs/pitElementUi/font-family.md +90 -0
- package/docs/pitElementUi/form-base.md +1239 -0
- package/docs/pitElementUi/form-item-checkbox-group.md +48 -0
- package/docs/pitElementUi/form-item-date.md +60 -0
- package/docs/pitElementUi/form-item-dic.md +18 -0
- package/docs/pitElementUi/form-item-editor.md +16 -0
- package/docs/pitElementUi/form-item-input-money.md +19 -0
- package/docs/pitElementUi/form-item-input-number.md +20 -0
- package/docs/pitElementUi/form-item-input.md +18 -0
- package/docs/pitElementUi/form-item-radio-group.md +21 -0
- package/docs/pitElementUi/form-item-select.md +21 -0
- package/docs/pitElementUi/form-item-switch.md +15 -0
- package/docs/pitElementUi/form-item-textarea.md +20 -0
- package/docs/pitElementUi/form-item-tree-select.md +27 -0
- package/docs/pitElementUi/form-item-upload-card.md +18 -0
- package/docs/pitElementUi/form-item-upload.md +1 -0
- package/docs/pitElementUi/form-two.md +102 -0
- package/docs/pitElementUi/form.md +952 -0
- package/docs/pitElementUi/i18n.md +228 -0
- package/docs/pitElementUi/icon-custom.md +99 -0
- package/docs/pitElementUi/icon-line-custom.md +12 -0
- package/docs/pitElementUi/icon.md +28 -0
- package/docs/pitElementUi/image.md +178 -0
- package/docs/pitElementUi/infiniteScroll.md +87 -0
- package/docs/pitElementUi/input-number.md +197 -0
- package/docs/pitElementUi/input-select.md +1 -0
- package/docs/pitElementUi/input.md +800 -0
- package/docs/pitElementUi/installation.md +9 -0
- package/docs/pitElementUi/layout-column.md +376 -0
- package/docs/pitElementUi/layout-tree.md +715 -0
- package/docs/pitElementUi/layout.md +354 -0
- package/docs/pitElementUi/link.md +66 -0
- package/docs/pitElementUi/loading.md +208 -0
- package/docs/pitElementUi/menu.md +403 -0
- package/docs/pitElementUi/message-box.md +326 -0
- package/docs/pitElementUi/message.md +219 -0
- package/docs/pitElementUi/notification.md +311 -0
- package/docs/pitElementUi/page-header.md +40 -0
- package/docs/pitElementUi/pagination.md +200 -0
- package/docs/pitElementUi/popconfirm.md +60 -0
- package/docs/pitElementUi/popover.md +167 -0
- package/docs/pitElementUi/progress.md +178 -0
- package/docs/pitElementUi/quickstart.md +290 -0
- package/docs/pitElementUi/radio.md +211 -0
- package/docs/pitElementUi/rate.md +135 -0
- package/docs/pitElementUi/result.md +76 -0
- package/docs/pitElementUi/select-tree.md +661 -0
- package/docs/pitElementUi/select.md +586 -0
- package/docs/pitElementUi/skeleton.md +316 -0
- package/docs/pitElementUi/slider.md +237 -0
- package/docs/pitElementUi/steps.md +154 -0
- package/docs/pitElementUi/switch.md +142 -0
- package/docs/pitElementUi/table.md +4023 -0
- package/docs/pitElementUi/tabs.md +303 -0
- package/docs/pitElementUi/tag.md +203 -0
- package/docs/pitElementUi/time-picker.md +199 -0
- package/docs/pitElementUi/timeline.md +154 -0
- package/docs/pitElementUi/tooltip.md +177 -0
- package/docs/pitElementUi/transfer.md +249 -0
- package/docs/pitElementUi/transition.md +155 -0
- package/docs/pitElementUi/tree.md +1157 -0
- package/docs/pitElementUi/typography.md +151 -0
- package/docs/pitElementUi/upload-table.md +39 -0
- package/docs/pitElementUi/upload.md +392 -0
- package/docs/pitElementUi/virtual-list.md +154 -0
- package/docs/pitElementUi/virtual-select-tree.md +243 -0
- package/docs/pitElementUi/virtual-select.md +451 -0
- package/docs/pitElementUi/virtual-table-column.md +1 -0
- package/docs/pitElementUi/virtual-table.md +490 -0
- package/docs/pitElementUi/virtual-tree.md +119 -0
- package/package.json +33 -0
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
## Skeleton 骨架屏
|
|
2
|
+
|
|
3
|
+
在需要等待加载内容的位置设置一个骨架屏,某些场景下比 Loading 的视觉效果更好。
|
|
4
|
+
|
|
5
|
+
### 基础用法
|
|
6
|
+
|
|
7
|
+
基础的骨架效果。
|
|
8
|
+
|
|
9
|
+
:::demo
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<template>
|
|
13
|
+
<el-skeleton />
|
|
14
|
+
</template>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
:::
|
|
18
|
+
|
|
19
|
+
### 更多参数
|
|
20
|
+
|
|
21
|
+
可以配置骨架屏段落数量,以便更接近真实渲染效果。首行会被渲染一个长度 33% 的段首。
|
|
22
|
+
|
|
23
|
+
:::demo
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<el-skeleton :rows="6" />
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
:::
|
|
30
|
+
|
|
31
|
+
### 动画效果
|
|
32
|
+
|
|
33
|
+
显示动画效果。
|
|
34
|
+
|
|
35
|
+
:::demo
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<el-skeleton :rows="6" animated />
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
:::
|
|
42
|
+
|
|
43
|
+
### 自定义样式
|
|
44
|
+
|
|
45
|
+
ElementPlus 提供的排版模式有时候并不满足要求,当您想要用自己定义的模板时,可以通过一个具名 Slot 来自己设定模板。
|
|
46
|
+
|
|
47
|
+
我们提供了不同的模板单元可供使用,具体可选值请看 API 详细描述。 建议在描述模板的时候,尽量靠近真实的 DOM 结构,这样可以避免 DOM 高度差距引起的抖动。
|
|
48
|
+
:::demo
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
<template>
|
|
52
|
+
<el-skeleton style="width: 240px">
|
|
53
|
+
<template slot="template">
|
|
54
|
+
<el-skeleton-item variant="image" style="width: 240px; height: 240px;" />
|
|
55
|
+
<div style="padding: 14px;">
|
|
56
|
+
<el-skeleton-item variant="p" style="width: 50%" />
|
|
57
|
+
<div
|
|
58
|
+
style="display: flex; align-items: center; justify-items: space-between;"
|
|
59
|
+
>
|
|
60
|
+
<el-skeleton-item variant="text" style="margin-right: 16px;" />
|
|
61
|
+
<el-skeleton-item variant="text" style="width: 30%;" />
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</template>
|
|
65
|
+
</el-skeleton>
|
|
66
|
+
</template>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
:::
|
|
70
|
+
|
|
71
|
+
### Loading 状态
|
|
72
|
+
|
|
73
|
+
当 Loading 结束之后,我们往往需要显示真实的 UI,可以通过 `loading` 的值来控制是否显示真实的 DOM。然后通过
|
|
74
|
+
具名 Slot 来设置当 loading 结束之后需要展示的 UI。
|
|
75
|
+
|
|
76
|
+
:::demo
|
|
77
|
+
|
|
78
|
+
```html
|
|
79
|
+
<template>
|
|
80
|
+
<div style="width: 240px">
|
|
81
|
+
<p>
|
|
82
|
+
<label style="margin-right: 16px;">切换 Loading</label>
|
|
83
|
+
<el-switch v-model="loading" />
|
|
84
|
+
</p>
|
|
85
|
+
<el-skeleton style="width: 240px" :loading="loading" animated>
|
|
86
|
+
<template slot="template">
|
|
87
|
+
<el-skeleton-item
|
|
88
|
+
variant="image"
|
|
89
|
+
style="width: 240px; height: 240px;"
|
|
90
|
+
/>
|
|
91
|
+
<div style="padding: 14px;">
|
|
92
|
+
<el-skeleton-item variant="h3" style="width: 50%;" />
|
|
93
|
+
<div
|
|
94
|
+
style="display: flex; align-items: center; justify-items: space-between; margin-top: 16px; height: 16px;"
|
|
95
|
+
>
|
|
96
|
+
<el-skeleton-item variant="text" style="margin-right: 16px;" />
|
|
97
|
+
<el-skeleton-item variant="text" style="width: 30%;" />
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</template>
|
|
101
|
+
<template>
|
|
102
|
+
<el-card :body-style="{ padding: '0px', marginBottom: '1px' }">
|
|
103
|
+
<img
|
|
104
|
+
src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png"
|
|
105
|
+
class="image"
|
|
106
|
+
/>
|
|
107
|
+
<div style="padding: 14px;">
|
|
108
|
+
<span>好吃的汉堡</span>
|
|
109
|
+
<div class="bottom card-header">
|
|
110
|
+
<span class="time">{{ currentDate }}</span>
|
|
111
|
+
<el-button type="text" class="button">操作按钮</el-button>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</el-card>
|
|
115
|
+
</template>
|
|
116
|
+
</el-skeleton>
|
|
117
|
+
</div>
|
|
118
|
+
</template>
|
|
119
|
+
|
|
120
|
+
<script>
|
|
121
|
+
export default {
|
|
122
|
+
data () {
|
|
123
|
+
return {
|
|
124
|
+
loading: true,
|
|
125
|
+
currentDate: '2021-06-01'
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
}
|
|
129
|
+
</script>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
:::
|
|
133
|
+
|
|
134
|
+
### 渲染多条数据
|
|
135
|
+
|
|
136
|
+
大多时候, 骨架屏都被用来渲染列表, 当我们需要在从服务器获取数据的时候来渲染一个假的 UI。利用 `count` 这个属性就能控制渲染多少条假的数据在页面上
|
|
137
|
+
|
|
138
|
+
:::tip
|
|
139
|
+
请注意, 请尽可能的将 `count` 的大小保持在最小状态, 即使是假的 UI, DOM 元素多了之后, 照样会引起性能问题, 并且在骨架屏销毁时所消耗的时间也会更长(相对的)。
|
|
140
|
+
:::
|
|
141
|
+
|
|
142
|
+
:::demo
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
```html
|
|
146
|
+
<template>
|
|
147
|
+
<div style="width: 400px">
|
|
148
|
+
<p>
|
|
149
|
+
<el-button @click="setLoading">点我重新加载</el-button>
|
|
150
|
+
</p>
|
|
151
|
+
<el-skeleton style="width:400px" :loading="loading" animated :count="3">
|
|
152
|
+
<template slot="template">
|
|
153
|
+
<el-skeleton-item
|
|
154
|
+
variant="image"
|
|
155
|
+
style="width: 400px; height: 267px;"
|
|
156
|
+
/>
|
|
157
|
+
<div style="padding: 14px;">
|
|
158
|
+
<el-skeleton-item variant="h3" style="width: 50%;" />
|
|
159
|
+
<div
|
|
160
|
+
style="display: flex; align-items: center; justify-items: space-between; margin-top: 16px; height: 16px;"
|
|
161
|
+
>
|
|
162
|
+
<el-skeleton-item variant="text" style="margin-right: 16px;" />
|
|
163
|
+
<el-skeleton-item variant="text" style="width: 30%;" />
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</template>
|
|
167
|
+
<template>
|
|
168
|
+
<el-card
|
|
169
|
+
:body-style="{ padding: '0px', marginBottom: '1px' }"
|
|
170
|
+
v-for="item in lists"
|
|
171
|
+
:key="item.name"
|
|
172
|
+
>
|
|
173
|
+
<img :src="item.imgUrl" class="image multi-content" />
|
|
174
|
+
<div style="padding: 14px;">
|
|
175
|
+
<span>{{ item.name }}</span>
|
|
176
|
+
<div class="bottom card-header">
|
|
177
|
+
<span class="time">{{ currentDate }}</span>
|
|
178
|
+
<el-button type="text" class="button">操作按钮</el-button>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
</el-card>
|
|
182
|
+
</template>
|
|
183
|
+
</el-skeleton>
|
|
184
|
+
</div>
|
|
185
|
+
</template>
|
|
186
|
+
|
|
187
|
+
<script>
|
|
188
|
+
export default {
|
|
189
|
+
data() {
|
|
190
|
+
return {
|
|
191
|
+
loading: true,
|
|
192
|
+
currentDate: '2021-06-01',
|
|
193
|
+
lists: [],
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
mounted() {
|
|
197
|
+
this.loading = false
|
|
198
|
+
this.lists = [
|
|
199
|
+
{
|
|
200
|
+
imgUrl:
|
|
201
|
+
'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg',
|
|
202
|
+
name: '鹿',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
imgUrl:
|
|
206
|
+
'https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg',
|
|
207
|
+
name: '马',
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
imgUrl:
|
|
211
|
+
'https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg',
|
|
212
|
+
name: '山狮',
|
|
213
|
+
},
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
methods: {
|
|
217
|
+
setLoading() {
|
|
218
|
+
this.loading = true
|
|
219
|
+
setTimeout(() => (this.loading = false), 2000)
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
}
|
|
223
|
+
</script>
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
:::
|
|
227
|
+
|
|
228
|
+
### 防止渲染抖动
|
|
229
|
+
|
|
230
|
+
有的时候,API 的请求回来的特别快,往往骨架占位刚刚被渲染,真实的数据就已经回来了,用户的界面会突然一闪,此时为了避免这种情况,就需要通过 `throttle` 属性来避免这个问题。
|
|
231
|
+
|
|
232
|
+
:::demo
|
|
233
|
+
|
|
234
|
+
```html
|
|
235
|
+
<template>
|
|
236
|
+
<div style="width: 240px">
|
|
237
|
+
<p>
|
|
238
|
+
<label style="margin-right: 16px;">切换 Loading</label>
|
|
239
|
+
<el-switch v-model="loading" />
|
|
240
|
+
</p>
|
|
241
|
+
<el-skeleton
|
|
242
|
+
style="width: 240px"
|
|
243
|
+
:loading="loading"
|
|
244
|
+
animated
|
|
245
|
+
:throttle="500"
|
|
246
|
+
>
|
|
247
|
+
<template slot="template">
|
|
248
|
+
<el-skeleton-item
|
|
249
|
+
variant="image"
|
|
250
|
+
style="width: 240px; height: 240px;"
|
|
251
|
+
/>
|
|
252
|
+
<div style="padding: 14px;">
|
|
253
|
+
<el-skeleton-item variant="h3" style="width: 50%;" />
|
|
254
|
+
<div
|
|
255
|
+
style="display: flex; align-items: center; justify-items: space-between; margin-top: 16px; height: 16px;"
|
|
256
|
+
>
|
|
257
|
+
<el-skeleton-item variant="text" style="margin-right: 16px;" />
|
|
258
|
+
<el-skeleton-item variant="text" style="width: 30%;" />
|
|
259
|
+
</div>
|
|
260
|
+
</div>
|
|
261
|
+
</template>
|
|
262
|
+
<template>
|
|
263
|
+
<el-card :body-style="{ padding: '0px', marginBottom: '1px'}">
|
|
264
|
+
<img
|
|
265
|
+
src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png"
|
|
266
|
+
class="image"
|
|
267
|
+
/>
|
|
268
|
+
<div style="padding: 14px;">
|
|
269
|
+
<span>好吃的汉堡</span>
|
|
270
|
+
<div class="bottom card-header">
|
|
271
|
+
<span class="time">{{ currentDate }}</span>
|
|
272
|
+
<el-button type="text" class="button">操作按钮</el-button>
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|
|
275
|
+
</el-card>
|
|
276
|
+
</template>
|
|
277
|
+
</el-skeleton>
|
|
278
|
+
</div>
|
|
279
|
+
</template>
|
|
280
|
+
|
|
281
|
+
<script>
|
|
282
|
+
export default {
|
|
283
|
+
data() {
|
|
284
|
+
return {
|
|
285
|
+
loading: false,
|
|
286
|
+
currentDate: '2021-06-01'
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
}
|
|
290
|
+
</script>
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
:::
|
|
294
|
+
|
|
295
|
+
### Skeleton Attributes
|
|
296
|
+
|
|
297
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
298
|
+
| -------- | ------------------------------------------- | ------- | ------------ | ------ |
|
|
299
|
+
| animated | 是否使用动画 | boolean | true / false | false |
|
|
300
|
+
| count | 渲染多少个 template, 建议使用尽可能小的数字 | number | integer | 1 |
|
|
301
|
+
| loading | 是否显示 skeleton 骨架屏 | boolean | true / false | true |
|
|
302
|
+
| rows | 骨架屏段落数量 | number | 正整数 | 4 |
|
|
303
|
+
| throttle | 延迟占位 DOM 渲染的时间, 单位是毫秒 | number | 正整数 | 0 |
|
|
304
|
+
|
|
305
|
+
### Skeleton Item Attributes
|
|
306
|
+
|
|
307
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
308
|
+
| ------- | ------------------------ | ------------ | -------------------------------------------------------------------- | ------ |
|
|
309
|
+
| variant | 当前显示的占位元素的样式 | Enum(string) | p / text / h1 / h3 / text / caption / button / image / circle / rect | text |
|
|
310
|
+
|
|
311
|
+
### Skeleton Slots
|
|
312
|
+
|
|
313
|
+
| name | description |
|
|
314
|
+
| -------- | -------------------- |
|
|
315
|
+
| default | 用来展示真实 UI |
|
|
316
|
+
| template | 用来展示自定义占位符 |
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
## Slider 滑块
|
|
2
|
+
|
|
3
|
+
通过拖动滑块在一个固定区间内进行选择
|
|
4
|
+
|
|
5
|
+
### 基础用法
|
|
6
|
+
|
|
7
|
+
在拖动滑块时,显示当前值
|
|
8
|
+
|
|
9
|
+
:::demo 通过设置绑定值自定义滑块的初始值
|
|
10
|
+
```html
|
|
11
|
+
<template>
|
|
12
|
+
<div class="block">
|
|
13
|
+
<span class="demonstration">默认</span>
|
|
14
|
+
<el-slider v-model="value1"></el-slider>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="block">
|
|
17
|
+
<span class="demonstration">自定义初始值</span>
|
|
18
|
+
<el-slider v-model="value2"></el-slider>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="block">
|
|
21
|
+
<span class="demonstration">隐藏 Tooltip</span>
|
|
22
|
+
<el-slider v-model="value3" :show-tooltip="false"></el-slider>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="block">
|
|
25
|
+
<span class="demonstration">格式化 Tooltip</span>
|
|
26
|
+
<el-slider v-model="value4" :format-tooltip="formatTooltip"></el-slider>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="block">
|
|
29
|
+
<span class="demonstration">禁用</span>
|
|
30
|
+
<el-slider v-model="value5" disabled></el-slider>
|
|
31
|
+
</div>
|
|
32
|
+
</template>
|
|
33
|
+
|
|
34
|
+
<script>
|
|
35
|
+
export default {
|
|
36
|
+
data() {
|
|
37
|
+
return {
|
|
38
|
+
value1: 0,
|
|
39
|
+
value2: 50,
|
|
40
|
+
value3: 36,
|
|
41
|
+
value4: 48,
|
|
42
|
+
value5: 42
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
methods: {
|
|
46
|
+
formatTooltip(val) {
|
|
47
|
+
return val / 100;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
</script>
|
|
52
|
+
```
|
|
53
|
+
:::
|
|
54
|
+
|
|
55
|
+
### 离散值
|
|
56
|
+
|
|
57
|
+
选项可以是离散的
|
|
58
|
+
|
|
59
|
+
:::demo 改变`step`的值可以改变步长,通过设置`show-stops`属性可以显示间断点
|
|
60
|
+
```html
|
|
61
|
+
<template>
|
|
62
|
+
<div class="block">
|
|
63
|
+
<span class="demonstration">不显示间断点</span>
|
|
64
|
+
<el-slider
|
|
65
|
+
v-model="value1"
|
|
66
|
+
:step="10">
|
|
67
|
+
</el-slider>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="block">
|
|
70
|
+
<span class="demonstration">显示间断点</span>
|
|
71
|
+
<el-slider
|
|
72
|
+
v-model="value2"
|
|
73
|
+
:step="10"
|
|
74
|
+
show-stops>
|
|
75
|
+
</el-slider>
|
|
76
|
+
</div>
|
|
77
|
+
</template>
|
|
78
|
+
|
|
79
|
+
<script>
|
|
80
|
+
export default {
|
|
81
|
+
data() {
|
|
82
|
+
return {
|
|
83
|
+
value1: 0,
|
|
84
|
+
value2: 0
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
</script>
|
|
89
|
+
```
|
|
90
|
+
:::
|
|
91
|
+
|
|
92
|
+
### 带有输入框
|
|
93
|
+
|
|
94
|
+
通过输入框设置精确数值
|
|
95
|
+
|
|
96
|
+
:::demo 设置`show-input`属性会在右侧显示一个输入框
|
|
97
|
+
```html
|
|
98
|
+
<template>
|
|
99
|
+
<div class="block">
|
|
100
|
+
<el-slider
|
|
101
|
+
v-model="value"
|
|
102
|
+
show-input>
|
|
103
|
+
</el-slider>
|
|
104
|
+
</div>
|
|
105
|
+
</template>
|
|
106
|
+
|
|
107
|
+
<script>
|
|
108
|
+
export default {
|
|
109
|
+
data() {
|
|
110
|
+
return {
|
|
111
|
+
value: 0
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
</script>
|
|
116
|
+
```
|
|
117
|
+
:::
|
|
118
|
+
|
|
119
|
+
### 范围选择
|
|
120
|
+
|
|
121
|
+
支持选择某一数值范围
|
|
122
|
+
|
|
123
|
+
:::demo 设置`range`即可开启范围选择,此时绑定值是一个数组,其元素分别为最小边界值和最大边界值
|
|
124
|
+
```html
|
|
125
|
+
<template>
|
|
126
|
+
<div class="block">
|
|
127
|
+
<el-slider
|
|
128
|
+
v-model="value"
|
|
129
|
+
range
|
|
130
|
+
show-stops
|
|
131
|
+
:max="10">
|
|
132
|
+
</el-slider>
|
|
133
|
+
</div>
|
|
134
|
+
</template>
|
|
135
|
+
|
|
136
|
+
<script>
|
|
137
|
+
export default {
|
|
138
|
+
data() {
|
|
139
|
+
return {
|
|
140
|
+
value: [4, 8]
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
</script>
|
|
145
|
+
```
|
|
146
|
+
:::
|
|
147
|
+
|
|
148
|
+
### 竖向模式
|
|
149
|
+
|
|
150
|
+
:::demo 设置`vertical`可使 Slider 变成竖向模式,此时必须设置高度`height`属性
|
|
151
|
+
```html
|
|
152
|
+
<template>
|
|
153
|
+
<div class="block">
|
|
154
|
+
<el-slider
|
|
155
|
+
v-model="value"
|
|
156
|
+
vertical
|
|
157
|
+
height="200px">
|
|
158
|
+
</el-slider>
|
|
159
|
+
</div>
|
|
160
|
+
</template>
|
|
161
|
+
|
|
162
|
+
<script>
|
|
163
|
+
export default {
|
|
164
|
+
data() {
|
|
165
|
+
return {
|
|
166
|
+
value: 0
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
</script>
|
|
171
|
+
```
|
|
172
|
+
:::
|
|
173
|
+
|
|
174
|
+
### 展示标记
|
|
175
|
+
|
|
176
|
+
:::demo 设置 `marks` 属性可以展示标记
|
|
177
|
+
```html
|
|
178
|
+
<template>
|
|
179
|
+
<div class="block">
|
|
180
|
+
<el-slider
|
|
181
|
+
v-model="value"
|
|
182
|
+
range
|
|
183
|
+
:marks="marks">
|
|
184
|
+
</el-slider>
|
|
185
|
+
</div>
|
|
186
|
+
</template>
|
|
187
|
+
|
|
188
|
+
<script>
|
|
189
|
+
export default {
|
|
190
|
+
data() {
|
|
191
|
+
return {
|
|
192
|
+
value: [30, 60],
|
|
193
|
+
marks: {
|
|
194
|
+
0: '0°C',
|
|
195
|
+
8: '8°C',
|
|
196
|
+
37: '37°C',
|
|
197
|
+
50: {
|
|
198
|
+
style: {
|
|
199
|
+
color: '#1989FA'
|
|
200
|
+
},
|
|
201
|
+
label: this.$createElement('strong', '50%')
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
</script>
|
|
208
|
+
```
|
|
209
|
+
:::
|
|
210
|
+
|
|
211
|
+
### Attributes
|
|
212
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
213
|
+
|---------- |-------------- |---------- |-------------------------------- |-------- |
|
|
214
|
+
| value / v-model | 绑定值 | number | — | 0 |
|
|
215
|
+
| min | 最小值 | number | — | 0 |
|
|
216
|
+
| max | 最大值 | number | — | 100 |
|
|
217
|
+
| disabled | 是否禁用 | boolean | — | false |
|
|
218
|
+
| step | 步长 | number | — | 1 |
|
|
219
|
+
| show-input | 是否显示输入框,仅在非范围选择时有效 | boolean | — | false |
|
|
220
|
+
| show-input-controls | 在显示输入框的情况下,是否显示输入框的控制按钮 | boolean | — | true |
|
|
221
|
+
| input-size | 输入框的尺寸 | string | large / medium / small / mini | small |
|
|
222
|
+
| show-stops | 是否显示间断点 | boolean | — | false |
|
|
223
|
+
| show-tooltip | 是否显示 tooltip | boolean | — | true |
|
|
224
|
+
| format-tooltip | 格式化 tooltip message | function(value) | — | — |
|
|
225
|
+
| range | 是否为范围选择 | boolean | — | false |
|
|
226
|
+
| vertical | 是否竖向模式 | boolean | — | false |
|
|
227
|
+
| height | Slider 高度,竖向模式时必填 | string | — | — |
|
|
228
|
+
| label | 屏幕阅读器标签 | string | — | — |
|
|
229
|
+
| debounce | 输入时的去抖延迟,毫秒,仅在`show-input`等于true时有效 | number | — | 300 |
|
|
230
|
+
| tooltip-class | tooltip 的自定义类名 | string | — | — |
|
|
231
|
+
| marks | 标记, key 的类型必须为 number 且取值在闭区间 `[min, max]` 内,每个标记可以单独设置样式 | object | — | — |
|
|
232
|
+
|
|
233
|
+
### Events
|
|
234
|
+
| 事件名称 | 说明 | 回调参数 |
|
|
235
|
+
|---------- |-------- |---------- |
|
|
236
|
+
| change | 值改变时触发(使用鼠标拖曳时,只在松开鼠标后触发) | 改变后的值 |
|
|
237
|
+
| input | 数据改变时触发(使用鼠标拖曳时,活动过程实时触发) | 改变后的值 |
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
## Steps 步骤条
|
|
2
|
+
引导用户按照流程完成任务的分步导航条,可根据实际应用场景设定步骤,步骤不得少于 2 步。
|
|
3
|
+
|
|
4
|
+
### 基础用法
|
|
5
|
+
|
|
6
|
+
简单的步骤条。
|
|
7
|
+
|
|
8
|
+
:::demo 设置`active`属性,接受一个`Number`,表明步骤的 index,从 0 开始。需要定宽的步骤条时,设置`space`属性即可,它接受`Number`,单位为`px`,如果不设置,则为自适应。设置`finish-status`属性可以改变已经完成的步骤的状态。
|
|
9
|
+
```html
|
|
10
|
+
<el-steps :active="active" finish-status="success">
|
|
11
|
+
<el-step title="步骤 1"></el-step>
|
|
12
|
+
<el-step title="步骤 2"></el-step>
|
|
13
|
+
<el-step title="步骤 3"></el-step>
|
|
14
|
+
</el-steps>
|
|
15
|
+
|
|
16
|
+
<el-button style="margin-top: 12px;" @click="next">下一步</el-button>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
data() {
|
|
21
|
+
return {
|
|
22
|
+
active: 0
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
methods: {
|
|
27
|
+
next() {
|
|
28
|
+
if (this.active++ > 2) this.active = 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
</script>
|
|
33
|
+
```
|
|
34
|
+
:::
|
|
35
|
+
|
|
36
|
+
### 含状态步骤条
|
|
37
|
+
|
|
38
|
+
每一步骤显示出该步骤的状态。
|
|
39
|
+
|
|
40
|
+
:::demo 也可以使用`title`具名分发,可以用`slot`的方式来取代属性的设置,在本文档最后的列表中有所有的 slot name 可供参考。
|
|
41
|
+
```html
|
|
42
|
+
<el-steps :space="200" :active="1" finish-status="success">
|
|
43
|
+
<el-step title="已完成"></el-step>
|
|
44
|
+
<el-step title="进行中"></el-step>
|
|
45
|
+
<el-step title="步骤 3"></el-step>
|
|
46
|
+
</el-steps>
|
|
47
|
+
```
|
|
48
|
+
:::
|
|
49
|
+
|
|
50
|
+
### 有描述的步骤条
|
|
51
|
+
|
|
52
|
+
每个步骤有其对应的步骤状态描述。
|
|
53
|
+
|
|
54
|
+
:::demo
|
|
55
|
+
```html
|
|
56
|
+
<el-steps :active="1">
|
|
57
|
+
<el-step title="步骤 1" description="这是一段很长很长很长的描述性文字"></el-step>
|
|
58
|
+
<el-step title="步骤 2" description="这是一段很长很长很长的描述性文字"></el-step>
|
|
59
|
+
<el-step title="步骤 3" description="这段就没那么长了"></el-step>
|
|
60
|
+
</el-steps>
|
|
61
|
+
```
|
|
62
|
+
:::
|
|
63
|
+
|
|
64
|
+
### 居中的步骤条
|
|
65
|
+
|
|
66
|
+
标题和描述都将居中。
|
|
67
|
+
|
|
68
|
+
:::demo
|
|
69
|
+
```html
|
|
70
|
+
<el-steps :active="2" align-center>
|
|
71
|
+
<el-step title="步骤1" description="这是一段很长很长很长的描述性文字"></el-step>
|
|
72
|
+
<el-step title="步骤2" description="这是一段很长很长很长的描述性文字"></el-step>
|
|
73
|
+
<el-step title="步骤3" description="这是一段很长很长很长的描述性文字"></el-step>
|
|
74
|
+
<el-step title="步骤4" description="这是一段很长很长很长的描述性文字"></el-step>
|
|
75
|
+
</el-steps>
|
|
76
|
+
```
|
|
77
|
+
:::
|
|
78
|
+
|
|
79
|
+
### 带图标的步骤条
|
|
80
|
+
步骤条内可以启用各种自定义的图标。
|
|
81
|
+
|
|
82
|
+
:::demo 通过`icon`属性来设置图标,图标的类型可以参考 Icon 组件的文档,除此以外,还能通过具名`slot`来使用自定义的图标。
|
|
83
|
+
```html
|
|
84
|
+
|
|
85
|
+
<el-steps :active="1">
|
|
86
|
+
<el-step title="步骤 1" icon="el-icon-edit"></el-step>
|
|
87
|
+
<el-step title="步骤 2" icon="el-icon-upload"></el-step>
|
|
88
|
+
<el-step title="步骤 3" icon="el-icon-picture"></el-step>
|
|
89
|
+
</el-steps>
|
|
90
|
+
```
|
|
91
|
+
:::
|
|
92
|
+
|
|
93
|
+
### 竖式步骤条
|
|
94
|
+
|
|
95
|
+
竖直方向的步骤条。
|
|
96
|
+
|
|
97
|
+
:::demo 只需要在`el-steps`元素中设置`direction`属性为`vertical`即可。
|
|
98
|
+
```html
|
|
99
|
+
<div style="height: 300px;">
|
|
100
|
+
<el-steps direction="vertical" :active="1">
|
|
101
|
+
<el-step title="步骤 1"></el-step>
|
|
102
|
+
<el-step title="步骤 2"></el-step>
|
|
103
|
+
<el-step title="步骤 3" description="这是一段很长很长很长的描述性文字"></el-step>
|
|
104
|
+
</el-steps>
|
|
105
|
+
</div>
|
|
106
|
+
```
|
|
107
|
+
:::
|
|
108
|
+
|
|
109
|
+
### 简洁风格的步骤条
|
|
110
|
+
设置 `simple` 可应用简洁风格,该条件下 `align-center` / `description` / `direction` / `space` 都将失效。
|
|
111
|
+
|
|
112
|
+
:::demo
|
|
113
|
+
```html
|
|
114
|
+
|
|
115
|
+
<el-steps :active="1" simple>
|
|
116
|
+
<el-step title="步骤 1" icon="el-icon-edit"></el-step>
|
|
117
|
+
<el-step title="步骤 2" icon="el-icon-upload"></el-step>
|
|
118
|
+
<el-step title="步骤 3" icon="el-icon-picture"></el-step>
|
|
119
|
+
</el-steps>
|
|
120
|
+
|
|
121
|
+
<el-steps :active="1" finish-status="success" simple style="margin-top: 20px">
|
|
122
|
+
<el-step title="步骤 1" ></el-step>
|
|
123
|
+
<el-step title="步骤 2" ></el-step>
|
|
124
|
+
<el-step title="步骤 3" ></el-step>
|
|
125
|
+
</el-steps>
|
|
126
|
+
```
|
|
127
|
+
:::
|
|
128
|
+
|
|
129
|
+
### Steps Attributes
|
|
130
|
+
|
|
131
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
132
|
+
|---------- |-------- |---------- |------------- |-------- |
|
|
133
|
+
| space | 每个 step 的间距,不填写将自适应间距。支持百分比。 | number / string | — | — |
|
|
134
|
+
| direction | 显示方向 | string | vertical/horizontal | horizontal |
|
|
135
|
+
| active | 设置当前激活步骤 | number | — | 0 |
|
|
136
|
+
| process-status | 设置当前步骤的状态 | string | wait / process / finish / error / success | process |
|
|
137
|
+
| finish-status | 设置结束步骤的状态 | string | wait / process / finish / error / success | finish |
|
|
138
|
+
| align-center | 进行居中对齐 | boolean | - | false |
|
|
139
|
+
| simple | 是否应用简洁风格 | boolean | - | false |
|
|
140
|
+
|
|
141
|
+
### Step Attributes
|
|
142
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
143
|
+
|---------- |-------- |---------- |------------- |-------- |
|
|
144
|
+
| title | 标题 | string | — | — |
|
|
145
|
+
| description | 描述性文字 | string | — | — |
|
|
146
|
+
| icon | 图标 | 传入 icon 的 class 全名来自定义 icon,也支持 slot 方式写入 | string | — |
|
|
147
|
+
| status | 设置当前步骤的状态,不设置则根据 steps 确定状态 | wait / process / finish / error / success | - |
|
|
148
|
+
|
|
149
|
+
### Step Slot
|
|
150
|
+
| name | 说明 |
|
|
151
|
+
|----|----|
|
|
152
|
+
| icon | 自定义图标 |
|
|
153
|
+
| title | 自定义标题 |
|
|
154
|
+
| description | 自定义描述性文字 |
|