@gmcb/uv-ui 0.2.26 → 0.3.0
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/CHANGELOG.md +8 -0
- package/LICENSE +21 -21
- package/README.md +95 -141
- package/components/uv-overlay/props.js +29 -24
- package/components/uv-overlay/uv-overlay.vue +87 -85
- package/docs/api/configs/color.md +52 -0
- package/docs/api/index.md +77 -0
- package/docs/api/mixins/mpShare.md +95 -0
- package/docs/api/request/apiManage.md +88 -0
- package/docs/api/request/http.md +451 -0
- package/docs/api/utils/colorSwitch.md +78 -0
- package/docs/api/utils/debounce.md +104 -0
- package/docs/api/utils/fastUse.md +246 -0
- package/docs/api/utils/getRect.md +238 -0
- package/docs/api/utils/guid.md +41 -0
- package/docs/api/utils/index.md +55 -0
- package/docs/api/utils/intro.md +25 -0
- package/docs/api/utils/object.md +171 -0
- package/docs/api/utils/queryParams.md +68 -0
- package/docs/api/utils/random.md +23 -0
- package/docs/api/utils/randomArray.md +28 -0
- package/docs/api/utils/route.md +121 -0
- package/docs/api/utils/test.md +237 -0
- package/docs/api/utils/time.md +81 -0
- package/docs/api/utils/trim.md +24 -0
- package/docs/components/actionSheet.md +236 -0
- package/docs/components/addQQGroup.md +5 -0
- package/docs/components/album.md +91 -0
- package/docs/components/alert.md +83 -0
- package/docs/components/avatar.md +152 -0
- package/docs/components/backTop.md +181 -0
- package/docs/components/badge.md +117 -0
- package/docs/components/button.md +196 -0
- package/docs/components/calendar.md +398 -0
- package/docs/components/calendars.md +294 -0
- package/docs/components/cell.md +185 -0
- package/docs/components/checkbox.md +281 -0
- package/docs/components/circleProgress.md +5 -0
- package/docs/components/code.md +162 -0
- package/docs/components/codeInput.md +175 -0
- package/docs/components/collapse.md +250 -0
- package/docs/components/color.md +324 -0
- package/docs/components/common.md +126 -0
- package/docs/components/countDown.md +166 -0
- package/docs/components/countTo.md +140 -0
- package/docs/components/datetimePicker.md +283 -0
- package/docs/components/diff1.x.md +190 -0
- package/docs/components/divider.md +88 -0
- package/docs/components/downloadSetting.md +54 -0
- package/docs/components/dropDown.md +375 -0
- package/docs/components/empty.md +99 -0
- package/docs/components/feature.md +261 -0
- package/docs/components/form.md +736 -0
- package/docs/components/gap.md +49 -0
- package/docs/components/grid.md +225 -0
- package/docs/components/icon.md +101 -0
- package/docs/components/image.md +182 -0
- package/docs/components/index.md +110 -0
- package/docs/components/indexList.md +133 -0
- package/docs/components/input.md +250 -0
- package/docs/components/install.md +59 -0
- package/docs/components/intro.md +32 -0
- package/docs/components/keyboard.md +226 -0
- package/docs/components/layout.md +310 -0
- package/docs/components/line.md +85 -0
- package/docs/components/lineProgress.md +141 -0
- package/docs/components/link.md +89 -0
- package/docs/components/list.md +223 -0
- package/docs/components/loadMore.md +140 -0
- package/docs/components/loadingIcon.md +144 -0
- package/docs/components/loadingPage.md +92 -0
- package/docs/components/modal.md +230 -0
- package/docs/components/more.md +13 -0
- package/docs/components/navbar.md +192 -0
- package/docs/components/noNetwork.md +116 -0
- package/docs/components/noticeBar.md +131 -0
- package/docs/components/notify.md +204 -0
- package/docs/components/npmSetting.md +64 -0
- package/docs/components/numberBox.md +257 -0
- package/docs/components/nvue.md +170 -0
- package/docs/components/overlay.md +117 -0
- package/docs/components/parse.md +204 -0
- package/docs/components/pickColor.md +112 -0
- package/docs/components/picker.md +357 -0
- package/docs/components/popup.md +221 -0
- package/docs/components/problem.md +300 -0
- package/docs/components/qrcode.md +169 -0
- package/docs/components/quickstart.md +33 -0
- package/docs/components/radio.md +256 -0
- package/docs/components/rate.md +128 -0
- package/docs/components/read.md +163 -0
- package/docs/components/readMore.md +227 -0
- package/docs/components/resource.md +17 -0
- package/docs/components/scrollList.md +218 -0
- package/docs/components/search.md +160 -0
- package/docs/components/setting.md +111 -0
- package/docs/components/settingDesc.md +66 -0
- package/docs/components/skeleton.md +105 -0
- package/docs/components/skeletons.md +323 -0
- package/docs/components/slider.md +157 -0
- package/docs/components/steps.md +189 -0
- package/docs/components/sticky.md +76 -0
- package/docs/components/subsection.md +183 -0
- package/docs/components/swipeAction.md +279 -0
- package/docs/components/swiper.md +352 -0
- package/docs/components/switch.md +216 -0
- package/docs/components/tabbar.md +263 -0
- package/docs/components/table.md +5 -0
- package/docs/components/tabs.md +364 -0
- package/docs/components/tag.md +227 -0
- package/docs/components/testPic.md +20 -0
- package/docs/components/text.md +157 -0
- package/docs/components/textarea.md +121 -0
- package/docs/components/toast.md +124 -0
- package/docs/components/tooltip.md +98 -0
- package/docs/components/transition.md +404 -0
- package/docs/components/upload.md +253 -0
- package/docs/components/vtabs.md +332 -0
- package/docs/components/vueUse.md +45 -0
- package/docs/components/vuexDetail.md +103 -0
- package/docs/components/waterfall.md +651 -0
- package/docs/faq/index.md +53 -0
- package/docs/guide/codeHint.md +44 -0
- package/docs/guide/customIcon.md +168 -0
- package/docs/guide/demo.md +92 -0
- package/docs/guide/design.md +56 -0
- package/docs/guide/globalVariable.md +239 -0
- package/docs/guide/i18n.md +194 -0
- package/docs/guide/index.md +28 -0
- package/docs/guide/note.md +74 -0
- package/docs/guide/safeAreaInset.md +64 -0
- package/docs/guide/theme.md +67 -0
- package/docs/index.md +88 -0
- package/libs/config/config.js +0 -10
- package/libs/css/color.scss +15 -14
- package/package.json +7 -2
- package/theme.scss +2 -1
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
## Color 色彩
|
|
2
|
+
|
|
3
|
+
<demo-model url="/pages/componentsA/color/color"></demo-model>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
uv-ui经过大量调试和研究,得出一套专有的调色板,在各个组件内部,使用统一的配色,为您的产品带来统一又鲜明的视觉效果。
|
|
7
|
+
|
|
8
|
+
::: danger 注意
|
|
9
|
+
uv-ui为了更好编写css,使用了scss预处理器,使用uv-ui之前,请确认您的Hbuilder X已经安装了scss预处理器,一般情况下,相信您已经安装了。如果没有安装,
|
|
10
|
+
请在 Hbuilder X->工具->插件安装 中找到找到"scss/sass编译"安装即可,安装完毕如果不生效,请重启Hbuilder X。
|
|
11
|
+
:::
|
|
12
|
+
|
|
13
|
+
### 平台差异说明
|
|
14
|
+
|
|
15
|
+
|App(vue)|App(nvue)|H5|小程序|VUE2|VUE3|
|
|
16
|
+
|:-:|:-:|:-:|:-:|:-:|:-:|
|
|
17
|
+
|√|√|√|√|√|√|
|
|
18
|
+
|
|
19
|
+
### 主题色
|
|
20
|
+
|
|
21
|
+
`primary`,`success`,`error`,`warning`,`info`是uv-ui的主题色,他们给人在视觉感受上分别对应于蓝色,绿色,红色,黄色,灰色。
|
|
22
|
+
而他们又有对应的`disabled`、`dark`和`light`状态,分别表示对应的禁止,加深和变浅的对应颜色。举例uv-ui的`button`组件来说:
|
|
23
|
+
1. 设置`type`参数为`primary`时,按钮显示蓝色。
|
|
24
|
+
2. 按钮被按下时,使用的是`primary`的加深颜色,也即`dark`状态。
|
|
25
|
+
3. 按钮设置为镂空状态(`plain`为`true`)时,背景色为`primary`的变浅颜色,也即`light`状态。
|
|
26
|
+
4. 按钮处于禁止状态时,使用的是`primary`的稍浅颜色,也即`disabled`状态。
|
|
27
|
+
|
|
28
|
+
### 主色
|
|
29
|
+
|
|
30
|
+
蓝色作为uv-ui主色调,表示一种鲜明,积极的态度
|
|
31
|
+
|
|
32
|
+
<div class="color-box">
|
|
33
|
+
<div class="color-item" style="background: #3c9cff; color:#fff;">
|
|
34
|
+
Primary<br>
|
|
35
|
+
#3c9cff
|
|
36
|
+
<div class="color-sub">
|
|
37
|
+
<div class="sub-item" style="background: #398ade; color:#fff;">
|
|
38
|
+
Dark<br>
|
|
39
|
+
#398ade
|
|
40
|
+
</div>
|
|
41
|
+
<div class="sub-item" style="background: #9acafc; color:#606266;">
|
|
42
|
+
Disabled<br>
|
|
43
|
+
#9acafc
|
|
44
|
+
</div>
|
|
45
|
+
<div class="sub-item" style="background: #ecf5ff; color:#606266;">
|
|
46
|
+
Light<br>
|
|
47
|
+
#ecf5ff
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
我们在全局样式中,通过`scss`提供了对应的颜色变量名,方便您在任何可写css的地方,调用这些变量,如下:
|
|
54
|
+
|
|
55
|
+
```css
|
|
56
|
+
/* 变量的定义,该部分uv-ui已全局引入,无需您编写 */
|
|
57
|
+
$uv-primary: #3c9cff;
|
|
58
|
+
$uv-warning: #f9ae3d;
|
|
59
|
+
$uv-success: #5ac725;
|
|
60
|
+
$uv-error: #f56c6c;
|
|
61
|
+
$uv-info: #909399;
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
/* 在您编写css的地方使用这些变量 */
|
|
65
|
+
.title {
|
|
66
|
+
color: $uv-primary;
|
|
67
|
+
......
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
### 辅助色
|
|
73
|
+
|
|
74
|
+
除了主色外的场景色,需要在不同的场景中使用,如绿色代表成功,红色代表错误,黄色代表警示。
|
|
75
|
+
|
|
76
|
+
<div class="color-box">
|
|
77
|
+
<div class="color-item" style="background: #f56c6c; color:#fff;">
|
|
78
|
+
Error<br>
|
|
79
|
+
#f56c6c
|
|
80
|
+
<div class="color-sub">
|
|
81
|
+
<div class="sub-item" style="background: #e45656; color:#fff;">
|
|
82
|
+
Dark<br>
|
|
83
|
+
#e45656
|
|
84
|
+
</div>
|
|
85
|
+
<div class="sub-item" style="background: #f7b2b2; color:#606266;">
|
|
86
|
+
Disabled<br>
|
|
87
|
+
#f7b2b2
|
|
88
|
+
</div>
|
|
89
|
+
<div class="sub-item" style="background: #fef0f0; color:#606266;">
|
|
90
|
+
Light<br>
|
|
91
|
+
#fef0f0
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
<div class="color-item" style="background: #f9ae3d; color:#fff;">
|
|
96
|
+
Warning<br>
|
|
97
|
+
#f9ae3d
|
|
98
|
+
<div class="color-sub">
|
|
99
|
+
<div class="sub-item" style="background: #f1a532; color:#fff;">
|
|
100
|
+
Dark<br>
|
|
101
|
+
#f1a532
|
|
102
|
+
</div>
|
|
103
|
+
<div class="sub-item" style="background: #f9d39b; color:#606266;">
|
|
104
|
+
Disabled<br>
|
|
105
|
+
#f9d39b
|
|
106
|
+
</div>
|
|
107
|
+
<div class="sub-item" style="background: #fdf6ec; color:#606266;">
|
|
108
|
+
Light<br>
|
|
109
|
+
#fdf6ec
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
<div class="color-item" style="background: #5ac725; color:#fff;">
|
|
114
|
+
Success<br>
|
|
115
|
+
#5ac725
|
|
116
|
+
<div class="color-sub">
|
|
117
|
+
<div class="sub-item" style="background: #53c21d; color:#fff;">
|
|
118
|
+
Dark<br>
|
|
119
|
+
#53c21d
|
|
120
|
+
</div>
|
|
121
|
+
<div class="sub-item" style="background: #a9e08f; color:#606266;">
|
|
122
|
+
Disabled<br>
|
|
123
|
+
#a9e08f
|
|
124
|
+
</div>
|
|
125
|
+
<div class="sub-item" style="background: #f5fff0; color:#606266;">
|
|
126
|
+
Light<br>
|
|
127
|
+
#f5fff0
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="color-item" style="background: #909399; color:#fff;">
|
|
132
|
+
Info<br>
|
|
133
|
+
#909399
|
|
134
|
+
<div class="color-sub">
|
|
135
|
+
<div class="sub-item" style="background: #767a82; color:#fff;">
|
|
136
|
+
Dark<br>
|
|
137
|
+
#767a82
|
|
138
|
+
</div>
|
|
139
|
+
<div class="sub-item" style="background: #c4c6c9; color:#606266;">
|
|
140
|
+
Disabled<br>
|
|
141
|
+
#c4c6c9
|
|
142
|
+
</div>
|
|
143
|
+
<div class="sub-item" style="background: #f4f4f5; color:#606266;">
|
|
144
|
+
Light<br>
|
|
145
|
+
#f4f4f5
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
|
|
151
|
+
我们在全局样式中,通过`scss`提供了对应的颜色变量名,方便您在任何可写css的地方,调用这些变量,如下:
|
|
152
|
+
|
|
153
|
+
```css
|
|
154
|
+
/* 变量的定义,该部分uv-ui已全局引入,无需您编写 */
|
|
155
|
+
|
|
156
|
+
$uv-primary: #3c9cff;
|
|
157
|
+
$uv-primary-dark: #398ade;
|
|
158
|
+
$uv-primary-disabled: #9acafc;
|
|
159
|
+
$uv-primary-light: #ecf5ff;
|
|
160
|
+
|
|
161
|
+
$uv-warning: #f9ae3d;
|
|
162
|
+
$uv-warning-dark: #f1a532;
|
|
163
|
+
$uv-warning-disabled: #f9d39b;
|
|
164
|
+
$uv-warning-light: #fdf6ec;
|
|
165
|
+
|
|
166
|
+
$uv-success: #5ac725;
|
|
167
|
+
$uv-success-dark: #53c21d;
|
|
168
|
+
$uv-success-disabled: #a9e08f;
|
|
169
|
+
$uv-success-light: #f5fff0;
|
|
170
|
+
|
|
171
|
+
$uv-error: #f56c6c;
|
|
172
|
+
$uv-error-dark: #e45656;
|
|
173
|
+
$uv-error-disabled: #f7b2b2;
|
|
174
|
+
$uv-error-light: #fef0f0;
|
|
175
|
+
|
|
176
|
+
$uv-info: #909399;
|
|
177
|
+
$uv-info-dark: #767a82;
|
|
178
|
+
$uv-info-disabled: #c4c6c9;
|
|
179
|
+
$uv-info-light: #f4f4f5;
|
|
180
|
+
|
|
181
|
+
/* 在您编写css的地方使用这些变量 */
|
|
182
|
+
.title {
|
|
183
|
+
color: $uv-type-info;
|
|
184
|
+
......
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### 文字颜色
|
|
189
|
+
|
|
190
|
+
uv-ui中,分别提炼了4种用于文字颜色,分别是:主要文字、常规文字、次要文字、占位文字颜色。
|
|
191
|
+
|
|
192
|
+
- 主要文字颜色一般用于内容的标题等,如新闻列表的标题
|
|
193
|
+
- 常规文字颜色一般用于内容的主体,如新闻列表的概要
|
|
194
|
+
- 次要文字颜色一般用于内容的提示部分,如新闻列表底部的时间,评论数量的提示文字
|
|
195
|
+
- 占位文字颜色属于更浅的灰色,看场景选择使用
|
|
196
|
+
|
|
197
|
+
<div class="color-box">
|
|
198
|
+
<div class="color-item" style="background: #303133; color:#fff;">
|
|
199
|
+
主要文字<br>
|
|
200
|
+
#303133
|
|
201
|
+
<div class="color-sub">
|
|
202
|
+
<div class="sub-item" style="background: #606266; color:#fff;">
|
|
203
|
+
常规文字<br>
|
|
204
|
+
#606266
|
|
205
|
+
</div>
|
|
206
|
+
<div class="sub-item" style="background: #909399; color:#fff;">
|
|
207
|
+
次要文字<br>
|
|
208
|
+
#909399
|
|
209
|
+
</div>
|
|
210
|
+
<div class="sub-item" style="background: #c0c4cc; color:#303133;">
|
|
211
|
+
占位文字<br>
|
|
212
|
+
#c0c4cc
|
|
213
|
+
</div>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
</div>
|
|
217
|
+
|
|
218
|
+
```css
|
|
219
|
+
/* 变量的定义,该部分uv-ui已全局引入,无需您编写 */
|
|
220
|
+
$uv-main-color: #303133;
|
|
221
|
+
$uv-content-color: #606266;
|
|
222
|
+
$uv-tips-color: #909193;
|
|
223
|
+
$uv-light-color: #c0c4cc;
|
|
224
|
+
$uv-border-color: #dadbde;
|
|
225
|
+
$uv-bg-color: #f3f4f6;
|
|
226
|
+
$uv-disabled-color: #c8c9cc;
|
|
227
|
+
|
|
228
|
+
/* 在您编写css的地方使用这些变量 */
|
|
229
|
+
.title {
|
|
230
|
+
color: $uv-main-color;
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
### 背景颜色
|
|
236
|
+
|
|
237
|
+
uv-ui中,定义了一个背景颜色,如下:
|
|
238
|
+
|
|
239
|
+
<div class="color-box">
|
|
240
|
+
<div class="color-item" style="background: #f3f4f6; color:#909399;">
|
|
241
|
+
背景颜色<br>
|
|
242
|
+
#f3f4f6
|
|
243
|
+
</div>
|
|
244
|
+
</div>
|
|
245
|
+
|
|
246
|
+
我们在全局样式中,通过`scss`提供了对应的颜色变量名,方便您在任何可写css的地方,调用这个变量,如下:
|
|
247
|
+
|
|
248
|
+
```css
|
|
249
|
+
/* 变量的定义,该部分uv-ui已全局引入,无需您编写 */
|
|
250
|
+
$uv-bg-color: #f3f4f6;
|
|
251
|
+
|
|
252
|
+
/* 在您编写css的地方使用这些变量 */
|
|
253
|
+
.title {
|
|
254
|
+
color: $uv-bg-color;
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
### 边框颜色
|
|
260
|
+
|
|
261
|
+
uv-ui自定义了一个边框的颜色,值为`#e4e7ed`,如果想使用,如下:
|
|
262
|
+
|
|
263
|
+
```css
|
|
264
|
+
/* 变量的定义,该部分uv-ui已全局引入,无需您编写 */
|
|
265
|
+
$uv-border-color: #e4e7ed;
|
|
266
|
+
|
|
267
|
+
/* 在您编写css的地方使用这个变量 */
|
|
268
|
+
.item {
|
|
269
|
+
border: 1px solid $uv-border-color;
|
|
270
|
+
}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
<style scoped>
|
|
274
|
+
.color-box {
|
|
275
|
+
display: flex;
|
|
276
|
+
flex-wrap: wrap;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.color-item {
|
|
280
|
+
box-sizing: border-box;
|
|
281
|
+
text-align: left;
|
|
282
|
+
padding: 20px 25px;
|
|
283
|
+
border-radius: 5px;
|
|
284
|
+
flex: 0 0 31.5%;
|
|
285
|
+
position: relative;
|
|
286
|
+
height: 130px;
|
|
287
|
+
overflow: hidden;
|
|
288
|
+
margin-right: 4%;
|
|
289
|
+
margin-bottom: 35px;
|
|
290
|
+
min-width: 300px;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.color-item:nth-child(3n) {
|
|
294
|
+
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.color-sub {
|
|
298
|
+
position: absolute;
|
|
299
|
+
bottom: 0;
|
|
300
|
+
width: 100%;
|
|
301
|
+
left: 0;
|
|
302
|
+
display: flex;
|
|
303
|
+
height: 50px;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.sub-item {
|
|
307
|
+
display: flex;
|
|
308
|
+
flex: 1;
|
|
309
|
+
align-items: center;
|
|
310
|
+
justify-content: flex-start;
|
|
311
|
+
padding: 0 10px;
|
|
312
|
+
font-size: 13px;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.sub-item:first-child {
|
|
316
|
+
border-radius: 0 0 0 5px;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.sub-item:last-child {
|
|
320
|
+
border-radius: 0 0 5px 0;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
</style>
|
|
324
|
+
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# 提示:全局使用内置样式,请按照[扩展配置-基础样式](/components/setting.html#扩展配置-基础样式)进行配置后即可正常使用
|
|
2
|
+
|
|
3
|
+
## 内置样式
|
|
4
|
+
|
|
5
|
+
<demo-model url="/"></demo-model>
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### 说明
|
|
9
|
+
|
|
10
|
+
`uv-ui`组件功能的实现,并不依赖全局样式,内置的一些类名,只是提供一些基础且常用的样式,仅此而已。
|
|
11
|
+
|
|
12
|
+
### 文字省略
|
|
13
|
+
|
|
14
|
+
`uv-line-1`,`uv-line-2`,`uv-line-3`,`uv-line-4`,`uv-line-5`五个类名在文字超出内容盒子时,分别只显示一行、两行、三行、四行、五行+省略号。
|
|
15
|
+
|
|
16
|
+
```html
|
|
17
|
+
<text class="uv-line-1">是日也,天朗气清,惠风和畅,仰观宇宙之大,俯察品类之盛</text>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### 重置按钮样式
|
|
21
|
+
|
|
22
|
+
我们知道,uni-app和微信小程序的`button`按钮是自带样式的,比如边框,内边距,行高等。在某些特殊场景,我们可能会需要清除这些样式,仅仅只留下按钮文本,就像
|
|
23
|
+
单纯的`view`元素一样,不带预置样式,场景:
|
|
24
|
+
在微信小程序中,我们知道`button`设置`open-type`参数为`getUserInfo`(或者分享场景),点击按钮可以弹出让用户授权的系统弹窗,有时候我们可能需要按钮形式展现,但也有时候我们仅仅需要
|
|
25
|
+
"点击登录/授权/分享"几个字,同时具备获取相应的功能,就需要清除按钮的样式了,只需要给`button`加上`uv-reset-button`类名即可。
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<button class="uv-reset-button">点击登录</button>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
提示:
|
|
32
|
+
1. 此种场景,不建议使用uv-ui的`uv-button`组件,使用原生的`button`即可
|
|
33
|
+
2. 有时候,我们可能弹出询问用户是否想授权,可以用`uv-modal`组件,此组件有一个`confirm-button`的`slot`用于替换`确定`按钮,用户点击确定,即可授权。
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
/* 请在微信开发工具中运行此代码 */
|
|
37
|
+
<template>
|
|
38
|
+
<view>
|
|
39
|
+
<uv-modal v-model="show" content="点击确定进行授权">
|
|
40
|
+
<template v-slot:confirm-button>
|
|
41
|
+
<button open-type="getUserInfo" class="uv-reset-button" @getuserinfo="getuserinfo">确定</button>
|
|
42
|
+
</template>
|
|
43
|
+
</uv-modal>
|
|
44
|
+
<uv-button @click="show = true">打开modal</uv-button>
|
|
45
|
+
</view>
|
|
46
|
+
</template>
|
|
47
|
+
|
|
48
|
+
<script setup>
|
|
49
|
+
import { ref } from 'vue';
|
|
50
|
+
|
|
51
|
+
const show = ref(true);
|
|
52
|
+
|
|
53
|
+
function getuserinfo(res) {
|
|
54
|
+
console.log(res);
|
|
55
|
+
}
|
|
56
|
+
</script>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
### 边框
|
|
61
|
+
|
|
62
|
+
uni-app,iOS和少数设备使用`1rpx`是能够得到类似`0.5px`的半像素宽度的,但是某些情况下是不兼容的,
|
|
63
|
+
故uv-ui提供了一套兼容的css类名,方便用户使用。
|
|
64
|
+
`uv-border`表示给元素添加四周的边框,`uv-border-top`为上边框,`uv-border-right`为右边框,
|
|
65
|
+
`uv-border-bottom`为下边框,`uv-border-left`为左边框。
|
|
66
|
+
说明:如果想调整边框与内容的距离,修改元素的内边距即可。
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<view class="uv-border-bottom">
|
|
70
|
+
夫人之相与,俯仰一世,或取诸怀抱,悟言一室之内;或因寄所托,放浪形骸之外
|
|
71
|
+
</view>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
# 提示:全局使用主题变量,请按照[扩展配置-自定义主题](/components/setting.html#扩展配置-自定义主题)进行配置后即可正常使用
|
|
75
|
+
|
|
76
|
+
### 文字颜色
|
|
77
|
+
|
|
78
|
+
uv-ui提供了四个关于文字的颜色,具体详见文档的[Color 色彩](/components/color.html)部分,分别是:
|
|
79
|
+
|
|
80
|
+
- `main-color`主要颜色,可以用于标题等需要重颜色的场景
|
|
81
|
+
- `content-color`内容颜色,可以用于一般性内容的场景
|
|
82
|
+
- `tips-color`提示颜色,可以用于浅颜色的提示语的场景
|
|
83
|
+
- `light-color`为比`tips-color`更浅的颜色,可以和`tips-color`搭配使用
|
|
84
|
+
|
|
85
|
+
举个例子:
|
|
86
|
+
我们平时看到的APP的新闻列表,标题颜色可以用`$uv-main-color`,简介部分颜色可以用`$uv-content-color`,底部的发布时间文字等可以用`$uv-tips-color`。
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
uv-ui提供了四个关于文字颜色的scss变量名,具体详见文档的[Color 色彩](/components/color.html)部分,分别是:
|
|
90
|
+
- `$uv-main-color`
|
|
91
|
+
- `$uv-content-color`
|
|
92
|
+
- `$uv-tips-color`
|
|
93
|
+
- `$uv-light-color`
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
```html
|
|
97
|
+
<!-- 请确保在style标签声明了"lang="scss"" -->
|
|
98
|
+
<style lang="scss" scoped>
|
|
99
|
+
.box {
|
|
100
|
+
color: $uv-main-color;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.count {
|
|
104
|
+
border-color: $uv-light-color;
|
|
105
|
+
}
|
|
106
|
+
</style>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
### 主题色
|
|
111
|
+
|
|
112
|
+
uv-ui提供五个关于主题的scss颜色变量,如有需要,可合理使用。具体详见文档的[Color 色彩](/components/color.html)部分,分别是:
|
|
113
|
+
|
|
114
|
+
- `$uv-primary`为蓝色,uv-ui的主色彩,代表热情,友好,积极,向上之意。
|
|
115
|
+
- `$uv-warning`为黄色,代表警告之意。
|
|
116
|
+
- `$uv-success`为绿色,代表成功之意。
|
|
117
|
+
- `$uv-error`为红色,代表错误之意。
|
|
118
|
+
- `$uv-info`为灰色,代表一般信息之意。
|
|
119
|
+
|
|
120
|
+
```html
|
|
121
|
+
<style lang="scss" scoped>
|
|
122
|
+
.item {
|
|
123
|
+
color: $uv-primary;
|
|
124
|
+
}
|
|
125
|
+
</style>
|
|
126
|
+
```
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
## CountDown 倒计时 <to-api/>
|
|
2
|
+
|
|
3
|
+
<demo-model url="/pages/componentsD/countDown/countDown"></demo-model>
|
|
4
|
+
|
|
5
|
+
::: tip ✈
|
|
6
|
+
|
|
7
|
+
**组件名:uv-count-down**
|
|
8
|
+
|
|
9
|
+
[点击下载&安装](https://ext.dcloud.net.cn/plugin?name=uv-count-down)
|
|
10
|
+
|
|
11
|
+
:::
|
|
12
|
+
|
|
13
|
+
该组件一般使用于某个活动的截止时间上,通过数字的变化,给用户明确的时间紧迫感,提示用户进行某一个行为操作。
|
|
14
|
+
|
|
15
|
+
### 平台兼容性
|
|
16
|
+
|
|
17
|
+
|App(vue)|App(nvue)|H5|小程序|VUE2|VUE3|
|
|
18
|
+
|:-:|:-:|:-:|:-:|:-:|:-:|
|
|
19
|
+
|√|√|√|√|√|√|
|
|
20
|
+
|
|
21
|
+
### 基本使用
|
|
22
|
+
|
|
23
|
+
通过`time`参数设置倒计时间,单位为`ms`
|
|
24
|
+
|
|
25
|
+
```vue
|
|
26
|
+
<template>
|
|
27
|
+
<uv-count-down :time="30 * 60 * 60 * 1000" format="HH:mm:ss"></uv-count-down>
|
|
28
|
+
</template>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 自定义格式
|
|
32
|
+
|
|
33
|
+
通过绑定`change`回调的值,进行自定义格式
|
|
34
|
+
|
|
35
|
+
```vue
|
|
36
|
+
<template>
|
|
37
|
+
<uv-count-down
|
|
38
|
+
:time="30 * 60 * 60 * 1000"
|
|
39
|
+
format="DD:HH:mm:ss"
|
|
40
|
+
autoStart
|
|
41
|
+
millisecond
|
|
42
|
+
@change="onChange">
|
|
43
|
+
<view class="time">
|
|
44
|
+
<text class="time__item">{{ timeData.days }} 天</text>
|
|
45
|
+
<text class="time__item">{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}} 时</text>
|
|
46
|
+
<text class="time__item">{{ timeData.minutes }} 分</text>
|
|
47
|
+
<text class="time__item">{{ timeData.seconds }} 秒</text>
|
|
48
|
+
</view>
|
|
49
|
+
</uv-count-down>
|
|
50
|
+
</template>
|
|
51
|
+
<script setup>
|
|
52
|
+
import { ref } from 'vue';
|
|
53
|
+
|
|
54
|
+
const timeData = ref({});
|
|
55
|
+
function onChange(e) {
|
|
56
|
+
timeData.value = e;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
</script>
|
|
60
|
+
<style lang="scss">
|
|
61
|
+
.time {
|
|
62
|
+
// #ifndef APP-NVUE
|
|
63
|
+
display: flex;
|
|
64
|
+
// #endif
|
|
65
|
+
flex-direction: row;
|
|
66
|
+
align-items: center;
|
|
67
|
+
&__item {
|
|
68
|
+
color: red;
|
|
69
|
+
font-size: 30rpx;
|
|
70
|
+
text-align: center;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 毫秒级渲染
|
|
77
|
+
|
|
78
|
+
通过配置`millisecond`来开启毫秒级倒计时
|
|
79
|
+
|
|
80
|
+
```vue
|
|
81
|
+
<uv-count-down :time="30 * 60 * 60 * 1000" format="HH:mm:ss:SSS" autoStart millisecond></uv-count-down>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 手动控制
|
|
85
|
+
|
|
86
|
+
通过绑定`ref`进行手动控制重置、开始、暂停
|
|
87
|
+
|
|
88
|
+
```vue
|
|
89
|
+
<template>
|
|
90
|
+
<uv-count-down
|
|
91
|
+
ref="countDown"
|
|
92
|
+
:time="10* 1000"
|
|
93
|
+
format="ss:SSS"
|
|
94
|
+
:autoStart="false"
|
|
95
|
+
millisecond
|
|
96
|
+
@change="onChange">
|
|
97
|
+
</uv-count-down>
|
|
98
|
+
<button type="primary" size="small" @click="reset">重置</button>
|
|
99
|
+
<button type="primary" size="small" @click="start">开始</button>
|
|
100
|
+
<button type="primary" size="small" @click="pause">暂停</button>
|
|
101
|
+
</template>
|
|
102
|
+
<script setup>
|
|
103
|
+
import { ref } from 'vue';
|
|
104
|
+
|
|
105
|
+
const countDown = ref(null);
|
|
106
|
+
const timeData = ref({});
|
|
107
|
+
function start() {
|
|
108
|
+
countDown.value.start();
|
|
109
|
+
}
|
|
110
|
+
function pause() {
|
|
111
|
+
countDown.value.pause();
|
|
112
|
+
}
|
|
113
|
+
function reset() {
|
|
114
|
+
countDown.value.reset();
|
|
115
|
+
}
|
|
116
|
+
function onChange(e) {
|
|
117
|
+
timeData.value = e;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
</script>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
::: tip 完整示例下载地址
|
|
124
|
+
|
|
125
|
+
[https://ext.dcloud.net.cn/plugin?name=uv-ui](https://ext.dcloud.net.cn/plugin?name=uv-ui)
|
|
126
|
+
|
|
127
|
+
:::
|
|
128
|
+
|
|
129
|
+
### API
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
### CountDown Props
|
|
133
|
+
|
|
134
|
+
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|
|
135
|
+
|:- |:- |:- |:- |:- |
|
|
136
|
+
| time | 倒计时时长,单位ms | String | Number | 0 | - |
|
|
137
|
+
| format | 时间格式,`DD` - 日,`HH` - 时,`mm` - 分,`ss` - 秒,`SSS` - 毫秒。eg:`DD:HH:mm:ss:SS` | String | HH:mm:ss | - |
|
|
138
|
+
| autoStart | 是否自动开始倒计时 | Boolean | true | true | false |
|
|
139
|
+
| millisecond | 是否展示毫秒倒计时 | Boolean | false | true | false |
|
|
140
|
+
| customStyle | 自定义外部样式 | Object | - | - |
|
|
141
|
+
|
|
142
|
+
### CountDown Methods
|
|
143
|
+
|
|
144
|
+
需要通过`ref`获取倒计时组件才能调用
|
|
145
|
+
|
|
146
|
+
| 名称 | 说明 |
|
|
147
|
+
|:- |:- |
|
|
148
|
+
| start | 开始倒计时 |
|
|
149
|
+
| pause | 暂停倒计时 |
|
|
150
|
+
| reset | 重置倒计时 |
|
|
151
|
+
|
|
152
|
+
### CountDown Events
|
|
153
|
+
|
|
154
|
+
|事件名 |说明 |回调参数 |
|
|
155
|
+
|:- |:- |:- |
|
|
156
|
+
|@change |过程中,倒计时变化时触发 | time: 剩余的时间 |
|
|
157
|
+
|@finish |倒计时结束 |- |
|
|
158
|
+
|
|
159
|
+
<style scoped>
|
|
160
|
+
h3[id=countdown-methods] + p + table thead tr th:nth-child(2){
|
|
161
|
+
width: 70%;
|
|
162
|
+
}
|
|
163
|
+
h3[id=countdown-events] + table thead tr th:nth-child(2){
|
|
164
|
+
width: 50%;
|
|
165
|
+
}
|
|
166
|
+
</style>
|