@fredwsw/frontend-rules 1.0.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/README.md +302 -0
- package/bin/cli.js +155 -0
- package/package.json +22 -0
- package/template/docs/uv-ui-docs/action-sheet-cn.md +180 -0
- package/template/docs/uv-ui-docs/album-cn.md +104 -0
- package/template/docs/uv-ui-docs/alert-cn.md +71 -0
- package/template/docs/uv-ui-docs/avatar-cn.md +149 -0
- package/template/docs/uv-ui-docs/back-top-cn.md +121 -0
- package/template/docs/uv-ui-docs/badge-cn.md +100 -0
- package/template/docs/uv-ui-docs/button-cn.md +181 -0
- package/template/docs/uv-ui-docs/calendar-cn.md +179 -0
- package/template/docs/uv-ui-docs/calendars-cn.md +264 -0
- package/template/docs/uv-ui-docs/cell-cn.md +163 -0
- package/template/docs/uv-ui-docs/checkbox-cn.md +164 -0
- package/template/docs/uv-ui-docs/code-cn.md +122 -0
- package/template/docs/uv-ui-docs/code-input-cn.md +127 -0
- package/template/docs/uv-ui-docs/collapse-cn.md +206 -0
- package/template/docs/uv-ui-docs/color-cn.md +122 -0
- package/template/docs/uv-ui-docs/count-down-cn.md +169 -0
- package/template/docs/uv-ui-docs/count-to-cn.md +125 -0
- package/template/docs/uv-ui-docs/datetime-picker-cn.md +167 -0
- package/template/docs/uv-ui-docs/divider-cn.md +90 -0
- package/template/docs/uv-ui-docs/drop-down-cn.md +287 -0
- package/template/docs/uv-ui-docs/empty-cn.md +76 -0
- package/template/docs/uv-ui-docs/form-cn.md +220 -0
- package/template/docs/uv-ui-docs/gap-cn.md +63 -0
- package/template/docs/uv-ui-docs/grid-cn.md +187 -0
- package/template/docs/uv-ui-docs/icon-cn.md +255 -0
- package/template/docs/uv-ui-docs/image-cn.md +170 -0
- package/template/docs/uv-ui-docs/index-list-cn.md +132 -0
- package/template/docs/uv-ui-docs/input-cn.md +157 -0
- package/template/docs/uv-ui-docs/keyboard-cn.md +156 -0
- package/template/docs/uv-ui-docs/layout-cn.md +215 -0
- package/template/docs/uv-ui-docs/line-cn.md +77 -0
- package/template/docs/uv-ui-docs/line-progress-cn.md +132 -0
- package/template/docs/uv-ui-docs/link-cn.md +97 -0
- package/template/docs/uv-ui-docs/list-cn.md +185 -0
- package/template/docs/uv-ui-docs/load-more-cn.md +144 -0
- package/template/docs/uv-ui-docs/loading-icon-cn.md +125 -0
- package/template/docs/uv-ui-docs/loading-page-cn.md +85 -0
- package/template/docs/uv-ui-docs/modal-cn.md +212 -0
- package/template/docs/uv-ui-docs/navbar-cn.md +171 -0
- package/template/docs/uv-ui-docs/no-network-cn.md +112 -0
- package/template/docs/uv-ui-docs/notice-bar-cn.md +119 -0
- package/template/docs/uv-ui-docs/notify-cn.md +185 -0
- package/template/docs/uv-ui-docs/number-box-cn.md +131 -0
- package/template/docs/uv-ui-docs/overlay-cn.md +122 -0
- package/template/docs/uv-ui-docs/parse-cn.md +177 -0
- package/template/docs/uv-ui-docs/pick-color-cn.md +147 -0
- package/template/docs/uv-ui-docs/picker-cn.md +159 -0
- package/template/docs/uv-ui-docs/popup-cn.md +184 -0
- package/template/docs/uv-ui-docs/qrcode-cn.md +150 -0
- package/template/docs/uv-ui-docs/radio-cn.md +166 -0
- package/template/docs/uv-ui-docs/rate-cn.md +91 -0
- package/template/docs/uv-ui-docs/read-more-cn.md +191 -0
- package/template/docs/uv-ui-docs/scroll-list-cn.md +188 -0
- package/template/docs/uv-ui-docs/search-cn.md +107 -0
- package/template/docs/uv-ui-docs/skeleton-cn.md +101 -0
- package/template/docs/uv-ui-docs/skeletons-cn.md +312 -0
- package/template/docs/uv-ui-docs/slider-cn.md +98 -0
- package/template/docs/uv-ui-docs/steps-cn.md +158 -0
- package/template/docs/uv-ui-docs/sticky-cn.md +82 -0
- package/template/docs/uv-ui-docs/subsection-cn.md +161 -0
- package/template/docs/uv-ui-docs/swipe-action-cn.md +207 -0
- package/template/docs/uv-ui-docs/swiper-cn.md +247 -0
- package/template/docs/uv-ui-docs/switch-cn.md +136 -0
- package/template/docs/uv-ui-docs/tabbar-cn.md +224 -0
- package/template/docs/uv-ui-docs/tabs-cn.md +260 -0
- package/template/docs/uv-ui-docs/tags-cn.md +191 -0
- package/template/docs/uv-ui-docs/text-cn.md +178 -0
- package/template/docs/uv-ui-docs/textarea-cn.md +132 -0
- package/template/docs/uv-ui-docs/toast-cn.md +110 -0
- package/template/docs/uv-ui-docs/tooltip-cn.md +91 -0
- package/template/docs/uv-ui-docs/transition-cn.md +202 -0
- package/template/docs/uv-ui-docs/upload-cn.md +156 -0
- package/template/docs/uv-ui-docs/vtabs-cn.md +190 -0
- package/template/docs/uv-ui-docs/waterfall-cn.md +276 -0
- package/template/rules/common.mdc +90 -0
- package/template/rules/uv-ui-docs.mdc +111 -0
- package/template/skills/code-simplifier/SKILL.md +109 -0
- package/template/skills/frontend-design/SKILL.md +44 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
group: 数据
|
|
3
|
+
category: Components
|
|
4
|
+
title: List
|
|
5
|
+
subtitle: 列表
|
|
6
|
+
description: 列表容器与列表项组合,适用于设置项/导航项/图文列表等场景,支持多种插槽扩展。
|
|
7
|
+
demo:
|
|
8
|
+
cols: 2
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 何时使用 {#when-to-use}
|
|
12
|
+
|
|
13
|
+
`uv-list` 用于展示结构化信息列表,包含基本列表样式、默认插槽机制、可扩展插槽机制、长列表性能优化、多端兼容。
|
|
14
|
+
|
|
15
|
+
- 在 Vue 页面里默认使用页面级滚动,性能更友好
|
|
16
|
+
- 在 App-nvue 页面里默认使用原生 `list` 组件滚动,长列表滚动更顺滑,且出屏内容会被系统回收渲染资源
|
|
17
|
+
|
|
18
|
+
`uv-list` 是父容器,核心子组件是 `uv-list-item`,代表列表中的可重复行。`uv-list-item` 内置属性可覆盖导航列表、设置列表、小图标列表等常见场景;当内置属性不满足时可通过插槽扩展(默认插槽、具名插槽 `header | body | footer`)。
|
|
19
|
+
|
|
20
|
+
> 完整示例下载地址:[uv-ui 插件市场](https://ext.dcloud.net.cn/plugin?name=uv-ui)
|
|
21
|
+
|
|
22
|
+
## 平台兼容性 {#platform}
|
|
23
|
+
|
|
24
|
+
| App(vue) | App(nvue) | H5 | 小程序 | VUE2 | VUE3 |
|
|
25
|
+
| --- | --- | --- | --- | --- | --- |
|
|
26
|
+
| √ | √ | √ | √ | √ | √ |
|
|
27
|
+
|
|
28
|
+
**组件名:** `uv-list`、`uv-list-item`
|
|
29
|
+
|
|
30
|
+
## 代码演示 {#examples}
|
|
31
|
+
|
|
32
|
+
### 基本用法 {#basic}
|
|
33
|
+
|
|
34
|
+
- 设置 `title` 属性显示标题
|
|
35
|
+
- 设置 `disabled` 属性禁用当前项
|
|
36
|
+
|
|
37
|
+
```vue
|
|
38
|
+
<uv-list>
|
|
39
|
+
<uv-list-item title="列表文字"></uv-list-item>
|
|
40
|
+
<uv-list-item :disabled="true" title="列表禁用状态"></uv-list-item>
|
|
41
|
+
</uv-list>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 多行内容显示 {#note}
|
|
45
|
+
|
|
46
|
+
设置 `note` 属性,在第二行显示描述文本信息。
|
|
47
|
+
|
|
48
|
+
```vue
|
|
49
|
+
<uv-list>
|
|
50
|
+
<uv-list-item title="列表文字" note="列表描述信息"></uv-list-item>
|
|
51
|
+
<uv-list-item :disabled="true" title="列表禁用状态" note="列表描述信息"></uv-list-item>
|
|
52
|
+
</uv-list>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 右侧显示角标、Switch {#right-badge-switch}
|
|
56
|
+
|
|
57
|
+
- `show-badge`:是否显示角标
|
|
58
|
+
- `badge`:角标内容(更多参数参考 `uv-badge`)
|
|
59
|
+
- `show-switch`:是否显示开关
|
|
60
|
+
|
|
61
|
+
```vue
|
|
62
|
+
<uv-list>
|
|
63
|
+
<uv-list-item
|
|
64
|
+
title="列表右侧显示角标"
|
|
65
|
+
:show-badge="true"
|
|
66
|
+
:badge="{ value: '999+' }"
|
|
67
|
+
></uv-list-item>
|
|
68
|
+
<uv-list-item title="列表右侧显示 switch" :show-switch="true" @switchChange="switchChange"></uv-list-item>
|
|
69
|
+
</uv-list>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 左侧显示缩略图、图标 {#left-thumb-icon}
|
|
73
|
+
|
|
74
|
+
- `thumb`:左侧缩略图
|
|
75
|
+
- `show-extra-icon` + `extra-icon`:左侧扩展图标
|
|
76
|
+
|
|
77
|
+
```vue
|
|
78
|
+
<uv-list>
|
|
79
|
+
<uv-list-item
|
|
80
|
+
title="列表左侧带略缩图"
|
|
81
|
+
note="列表描述信息"
|
|
82
|
+
thumb="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png"
|
|
83
|
+
thumb-size="lg"
|
|
84
|
+
rightText="右侧文字"
|
|
85
|
+
></uv-list-item>
|
|
86
|
+
<uv-list-item
|
|
87
|
+
:show-extra-icon="true"
|
|
88
|
+
:extra-icon="{ icon: 'photo', color: 'red' }"
|
|
89
|
+
title="列表左侧带扩展图标"
|
|
90
|
+
></uv-list-item>
|
|
91
|
+
</uv-list>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 开启点击反馈与右侧箭头 {#clickable-link}
|
|
95
|
+
|
|
96
|
+
- `clickable`:开启点击反馈并监听 `@click`
|
|
97
|
+
- `link`:开启点击反馈并显示右侧箭头
|
|
98
|
+
- `to`:跳转地址,`link` 指定跳转方式(默认 `navigateTo`)
|
|
99
|
+
|
|
100
|
+
```vue
|
|
101
|
+
<uv-list>
|
|
102
|
+
<uv-list-item title="开启点击反馈" clickable @click=""></uv-list-item>
|
|
103
|
+
<uv-list-item title="默认 navigateTo 方式跳转页面" link to="/pages/vue/index/index" @click="($event, 1)"></uv-list-item>
|
|
104
|
+
<uv-list-item title="reLaunch 方式跳转页面" link="reLaunch" to="/pages/vue/index/index" @click="($event, 1)"></uv-list-item>
|
|
105
|
+
</uv-list>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 自定义内容 {#custom}
|
|
109
|
+
|
|
110
|
+
```vue
|
|
111
|
+
<uv-list>
|
|
112
|
+
<uv-list-item>自定义内容1</uv-list-item>
|
|
113
|
+
<uv-list-item>自定义内容2</uv-list-item>
|
|
114
|
+
<uv-list-item>自定义内容3</uv-list-item>
|
|
115
|
+
</uv-list>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## API {#api}
|
|
119
|
+
|
|
120
|
+
### List Props {#props}
|
|
121
|
+
|
|
122
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
123
|
+
| --- | --- | --- | --- |
|
|
124
|
+
| border | 是否显示边框 | Boolean | false |
|
|
125
|
+
| border-color | 边框颜色 | String | #dadbde |
|
|
126
|
+
| direction | 控制子组件排版方向(使用默认插槽自定义内容时不生效) | String | row |
|
|
127
|
+
| padding | 控制子组件内边距(使用默认插槽自定义内容时不生效) | String | `20rpx 30rpx` |
|
|
128
|
+
| customStyle | 自定义外部样式 | Object \| String | - |
|
|
129
|
+
|
|
130
|
+
### ListItem Props {#item-props}
|
|
131
|
+
|
|
132
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
133
|
+
| --- | --- | --- | --- |
|
|
134
|
+
| border | 是否显示边框 | Boolean | false |
|
|
135
|
+
| title | 标题 | String | - |
|
|
136
|
+
| note | 描述 | String | - |
|
|
137
|
+
| ellipsis | title 是否溢出隐藏省略显示,可选值 1-5 | Number | 0 |
|
|
138
|
+
| thumb | 左侧缩略图(若有值则不显示扩展图标) | String | - |
|
|
139
|
+
| thumb-size | 缩略图尺寸:lg / medium / sm | String | medium |
|
|
140
|
+
| show-badge | 是否显示数字角标 | Boolean | false |
|
|
141
|
+
| badge | 数字角标参数(更多参数参考 `uv-badge`) | Object | - |
|
|
142
|
+
| right-text | 右侧文字内容 | String | - |
|
|
143
|
+
| disabled | 是否禁用 | Boolean | false |
|
|
144
|
+
| show-arrow | 是否显示箭头图标 | Boolean | true |
|
|
145
|
+
| link | 新页面跳转方式 | String | navigateTo |
|
|
146
|
+
| to | 新页面跳转地址(设置后 click 会返回是否跳转成功) | String | - |
|
|
147
|
+
| clickable | 是否开启点击反馈 | Boolean | false |
|
|
148
|
+
| show-switch | 是否显示 Switch | Boolean | false |
|
|
149
|
+
| switch-checked | Switch 是否被选中 | Boolean | false |
|
|
150
|
+
| show-extra-icon | 左侧是否显示扩展图标 | Boolean | false |
|
|
151
|
+
| extra-icon | 扩展图标参数,格式 `{ color, size, name }`(参考 `uv-icon`) | Object | - |
|
|
152
|
+
| direction | 排版方向:row / column(也影响 3 个插槽排版) | String | row |
|
|
153
|
+
| customStyle | 自定义外部样式 | Object \| String | - |
|
|
154
|
+
|
|
155
|
+
### Link Options {#link-options}
|
|
156
|
+
|
|
157
|
+
| 属性名 | 说明 |
|
|
158
|
+
| --- | --- |
|
|
159
|
+
| navigateTo | 同 `uni.navigateTo()` |
|
|
160
|
+
| redirectTo | 同 `uni.redirectTo()` |
|
|
161
|
+
| reLaunch | 同 `uni.reLaunch()` |
|
|
162
|
+
| switchTab | 同 `uni.switchTab()` |
|
|
163
|
+
|
|
164
|
+
### List Events {#events}
|
|
165
|
+
|
|
166
|
+
| 事件名 | 说明 | 回调参数 |
|
|
167
|
+
| --- | --- | --- |
|
|
168
|
+
| @scroll | nvue 模式滚动时触发 | e |
|
|
169
|
+
| @scrolltolower | nvue 模式滚动到底部触发 | - |
|
|
170
|
+
|
|
171
|
+
### ListItem Events {#item-events}
|
|
172
|
+
|
|
173
|
+
| 事件名 | 说明 | 回调参数 |
|
|
174
|
+
| --- | --- | --- |
|
|
175
|
+
| @click | 点击列表项触发(需开启点击反馈 `:clickable="true"`) | - |
|
|
176
|
+
| @switchChange | 点击切换 Switch 时触发(需显示 switch) | e = { value: checked } |
|
|
177
|
+
|
|
178
|
+
### ListItem Slots {#slots}
|
|
179
|
+
|
|
180
|
+
| 名称 | 说明 |
|
|
181
|
+
| --- | --- |
|
|
182
|
+
| default | 默认插槽,完全自定义内容 |
|
|
183
|
+
| header | 左/上内容插槽 |
|
|
184
|
+
| body | 中间内容插槽 |
|
|
185
|
+
| footer | 右/下内容插槽 |
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
group: 数据
|
|
3
|
+
category: Components
|
|
4
|
+
title: LoadMore
|
|
5
|
+
subtitle: 加载更多
|
|
6
|
+
description: 列表底部加载状态提示,支持 loadmore/loading/nomore 三种状态、虚线分割与点击触发加载。
|
|
7
|
+
demo:
|
|
8
|
+
cols: 2
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 何时使用 {#when-to-use}
|
|
12
|
+
|
|
13
|
+
`uv-load-more` 用于标识页面底部加载数据时的状态,共有三种状态:
|
|
14
|
+
|
|
15
|
+
- `loadmore`:加载前,显示“加载更多”(可点击触发 `@loadmore`)
|
|
16
|
+
- `loading`:加载中,显示“正在加载...”
|
|
17
|
+
- `nomore`:加载结束,显示“没有更多了”
|
|
18
|
+
|
|
19
|
+
> 完整示例下载地址:[uv-ui 插件市场](https://ext.dcloud.net.cn/plugin?name=uv-ui)
|
|
20
|
+
|
|
21
|
+
## 平台兼容性 {#platform}
|
|
22
|
+
|
|
23
|
+
| App(vue) | App(nvue) | H5 | 小程序 | VUE2 | VUE3 |
|
|
24
|
+
| --- | --- | --- | --- | --- | --- |
|
|
25
|
+
| √ | √ | √ | √ | √ | √ |
|
|
26
|
+
|
|
27
|
+
**组件名:** `uv-load-more`
|
|
28
|
+
|
|
29
|
+
## 代码演示 {#examples}
|
|
30
|
+
|
|
31
|
+
### 基本使用 {#basic}
|
|
32
|
+
|
|
33
|
+
通过 `status` 设置组件状态:`loadmore / loading / nomore`。
|
|
34
|
+
|
|
35
|
+
```vue
|
|
36
|
+
<template>
|
|
37
|
+
<view class="wrap">
|
|
38
|
+
<view class="item uv-border-bottom" v-for="(item, index) in list" :key="index">{{ '第' + item + '条数据' }}</view>
|
|
39
|
+
<uv-load-more :status="status" />
|
|
40
|
+
</view>
|
|
41
|
+
</template>
|
|
42
|
+
|
|
43
|
+
<script>
|
|
44
|
+
export default {
|
|
45
|
+
data() {
|
|
46
|
+
return {
|
|
47
|
+
status: 'loadmore',
|
|
48
|
+
list: 15,
|
|
49
|
+
page: 0
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
onReachBottom() {
|
|
53
|
+
if (this.page >= 3) return
|
|
54
|
+
this.status = 'loading'
|
|
55
|
+
this.page = ++this.page
|
|
56
|
+
setTimeout(() => {
|
|
57
|
+
this.list += 10
|
|
58
|
+
if (this.page >= 3) this.status = 'nomore'
|
|
59
|
+
else this.status = 'loading'
|
|
60
|
+
}, 2000)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
</script>
|
|
64
|
+
|
|
65
|
+
<style lang="scss" scoped>
|
|
66
|
+
.wrap {
|
|
67
|
+
padding: 24rpx;
|
|
68
|
+
}
|
|
69
|
+
.item {
|
|
70
|
+
padding: 24rpx 0;
|
|
71
|
+
color: #222;
|
|
72
|
+
font-size: 28rpx;
|
|
73
|
+
}
|
|
74
|
+
</style>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 自定义提示文案 {#text}
|
|
78
|
+
|
|
79
|
+
通过 `loadmore-text / loading-text / nomore-text` 配置不同状态文案;`is-dot` 可在 `nomore` 状态用 `●` 替代默认文案。
|
|
80
|
+
|
|
81
|
+
```vue
|
|
82
|
+
<template>
|
|
83
|
+
<uv-load-more :status="status" :loading-text="loadingText" :loadmore-text="loadmoreText" :nomore-text="nomoreText" />
|
|
84
|
+
</template>
|
|
85
|
+
|
|
86
|
+
<script>
|
|
87
|
+
export default {
|
|
88
|
+
data() {
|
|
89
|
+
return {
|
|
90
|
+
status: 'loadmore',
|
|
91
|
+
loadingText: '努力加载中',
|
|
92
|
+
loadmoreText: '轻轻上拉',
|
|
93
|
+
nomoreText: '实在没有了'
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
</script>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 线条颜色与虚线 {#line}
|
|
101
|
+
|
|
102
|
+
设置 `dashed` + `lineColor`;并可用 `line` 显示左边分割线。
|
|
103
|
+
|
|
104
|
+
```vue
|
|
105
|
+
<template>
|
|
106
|
+
<uv-load-more loadmoreText="看,我和别人不一样" color="#1CD29B" lineColor="#1CD29B" dashed line />
|
|
107
|
+
</template>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 点击触发加载更多 {#click-loadmore}
|
|
111
|
+
|
|
112
|
+
当 `status` 为 `loadmore` 时,用户点击组件触发 `@loadmore`,用于无法触发 `onReachBottom` 的场景(如数据不满一页/网络原因等)。
|
|
113
|
+
|
|
114
|
+
## API {#api}
|
|
115
|
+
|
|
116
|
+
### LoadMore Props {#props}
|
|
117
|
+
|
|
118
|
+
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|
|
119
|
+
| --- | --- | --- | --- | --- |
|
|
120
|
+
| status | 组件状态 | String | loadmore | loadmore \| loading \| nomore |
|
|
121
|
+
| bgColor | 组件背景颜色 | String | transparent | - |
|
|
122
|
+
| icon | 加载中时是否显示图标 | Boolean | true | true \| false |
|
|
123
|
+
| fontSize | 字体大小(rpx 或 px) | String \| Number | 14 | - |
|
|
124
|
+
| iconSize | 图标大小(rpx 或 px) | String \| Number | 17 | - |
|
|
125
|
+
| color | 字体颜色 | String | #606266 | - |
|
|
126
|
+
| loadingIcon | 加载中图标类型 | String | spinner | spinner \| circle \| semicircle |
|
|
127
|
+
| loadmoreText | 加载前提示语 | String | 加载更多 | - |
|
|
128
|
+
| loadingText | 加载中提示语 | String | 正在加载... | - |
|
|
129
|
+
| nomoreText | 没有更多提示语 | String | 没有更多了 | - |
|
|
130
|
+
| isDot | status=nomore 时显示 “●” | Boolean | false | true \| false |
|
|
131
|
+
| iconColor | 加载动画图标颜色 | String | #b7b7b7 | - |
|
|
132
|
+
| lineColor | 线条颜色 | String | #E6E8EB | - |
|
|
133
|
+
| dashed | 是否虚线(true 虚线 / false 实线) | Boolean | false | true \| false |
|
|
134
|
+
| marginTop | 与前一个元素距离(rpx 或 px) | String \| Number | 10 | - |
|
|
135
|
+
| marginBottom | 与后一个元素距离(rpx 或 px) | String \| Number | 10 | - |
|
|
136
|
+
| height | 高度 | String \| Number | auto | - |
|
|
137
|
+
| line | 是否显示左边分割线 | Boolean | false | true \| false |
|
|
138
|
+
| customStyle | 自定义外部样式 | Object | - | - |
|
|
139
|
+
|
|
140
|
+
### LoadMore Events {#events}
|
|
141
|
+
|
|
142
|
+
| 事件名 | 说明 | 回调参数 |
|
|
143
|
+
| --- | --- | --- |
|
|
144
|
+
| @loadmore | status 为 loadmore 时,点击组件触发 | - |
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
group: 基础
|
|
3
|
+
category: Components
|
|
4
|
+
title: LoadingIcon
|
|
5
|
+
subtitle: 加载动画
|
|
6
|
+
description: 小型加载动画组件,支持多种形态、文字、颜色、尺寸与显示控制。
|
|
7
|
+
demo:
|
|
8
|
+
cols: 2
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 何时使用 {#when-to-use}
|
|
12
|
+
|
|
13
|
+
用于页面/列表加载中的轻量动效提示,常用于 `uv-load-more` 等组件的“正在加载”状态。
|
|
14
|
+
|
|
15
|
+
注意:`mode="spinner"` 在 nvue 中使用的是 `<loading-indicator>`,表现不是花朵效果,而是 weex 默认动画。
|
|
16
|
+
|
|
17
|
+
> 完整示例下载地址:[uv-ui 插件市场](https://ext.dcloud.net.cn/plugin?name=uv-ui)
|
|
18
|
+
|
|
19
|
+
## 平台兼容性 {#platform}
|
|
20
|
+
|
|
21
|
+
| App(vue) | App(nvue) | H5 | 小程序 | VUE2 | VUE3 |
|
|
22
|
+
| --- | --- | --- | --- | --- | --- |
|
|
23
|
+
| √ | √ | √ | √ | √ | √ |
|
|
24
|
+
|
|
25
|
+
**组件名:** `uv-loading-icon`
|
|
26
|
+
|
|
27
|
+
## 代码演示 {#examples}
|
|
28
|
+
|
|
29
|
+
### 基本使用 {#basic}
|
|
30
|
+
|
|
31
|
+
默认 `mode="spinner"`。
|
|
32
|
+
|
|
33
|
+
```vue
|
|
34
|
+
<template>
|
|
35
|
+
<uv-loading-icon></uv-loading-icon>
|
|
36
|
+
</template>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 动画文字 {#text}
|
|
40
|
+
|
|
41
|
+
`text` 指定文字内容,`textSize` 指定文字大小。
|
|
42
|
+
|
|
43
|
+
```vue
|
|
44
|
+
<template>
|
|
45
|
+
<uv-loading-icon text="加载中" textSize="30rpx"></uv-loading-icon>
|
|
46
|
+
</template>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 模式类型 {#mode}
|
|
50
|
+
|
|
51
|
+
`mode` 可选:`spinner / circle / semicircle`。
|
|
52
|
+
|
|
53
|
+
```vue
|
|
54
|
+
<template>
|
|
55
|
+
<view>
|
|
56
|
+
<uv-loading-icon mode="spinner" text="花朵形"></uv-loading-icon>
|
|
57
|
+
<uv-loading-icon mode="semicircle" text="半圆"></uv-loading-icon>
|
|
58
|
+
<uv-loading-icon mode="circle" text="圆型"></uv-loading-icon>
|
|
59
|
+
</view>
|
|
60
|
+
</template>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 排列类型 {#vertical}
|
|
64
|
+
|
|
65
|
+
`vertical` 控制文字与图标是否垂直排列(默认 false)。
|
|
66
|
+
|
|
67
|
+
```vue
|
|
68
|
+
<template>
|
|
69
|
+
<uv-loading-icon :vertical="true" text="加载中"></uv-loading-icon>
|
|
70
|
+
</template>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 动画模式与运行时间 {#timing-duration}
|
|
74
|
+
|
|
75
|
+
`timing-function` 仅在 `mode` 为 `semicircle` 或 `circle` 时有效;`duration` 设置周期时间。
|
|
76
|
+
|
|
77
|
+
```vue
|
|
78
|
+
<template>
|
|
79
|
+
<view>
|
|
80
|
+
<uv-loading-icon timing-function="linear"></uv-loading-icon>
|
|
81
|
+
<uv-loading-icon duration="2000"></uv-loading-icon>
|
|
82
|
+
</view>
|
|
83
|
+
</template>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 颜色与尺寸 {#color-size}
|
|
87
|
+
|
|
88
|
+
`color` 设置活动区域颜色;`inactive-color` 设置暗边颜色(circle 模式);`size` 设置尺寸(rpx)。
|
|
89
|
+
|
|
90
|
+
```vue
|
|
91
|
+
<template>
|
|
92
|
+
<view>
|
|
93
|
+
<uv-loading-icon color="red"></uv-loading-icon>
|
|
94
|
+
<uv-loading-icon mode="circle" inactive-color="red"></uv-loading-icon>
|
|
95
|
+
<uv-loading-icon size="36rpx"></uv-loading-icon>
|
|
96
|
+
</view>
|
|
97
|
+
</template>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 显示或隐藏 {#show}
|
|
101
|
+
|
|
102
|
+
```vue
|
|
103
|
+
<uv-loading-icon :show="true"></uv-loading-icon>
|
|
104
|
+
<!-- 等价于 -->
|
|
105
|
+
<uv-loading-icon show></uv-loading-icon>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## API {#api}
|
|
109
|
+
|
|
110
|
+
### LoadingIcon Props {#props}
|
|
111
|
+
|
|
112
|
+
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|
|
113
|
+
| --- | --- | --- | --- | --- |
|
|
114
|
+
| show | 是否显示动画 | Boolean | true | true \| false |
|
|
115
|
+
| color | 图标颜色 | String | #909193 | - |
|
|
116
|
+
| textColor | 提示文本颜色 | String | #909193 | - |
|
|
117
|
+
| vertical | 图标与文字是否垂直排列 | Boolean | false | true \| false |
|
|
118
|
+
| mode | 模式选择 | String | circle | spinner \| circle \| semicircle |
|
|
119
|
+
| size | 加载图标大小(单位默认 px) | String \| Number | 24 | - |
|
|
120
|
+
| textSize | 加载文字大小(单位默认 px) | String \| Number | 15 | - |
|
|
121
|
+
| text | 文字内容 | String | - | - |
|
|
122
|
+
| textStyle | 文字样式 | Object | - | - |
|
|
123
|
+
| timingFunction | 指定 `animation-timing-function`(circle/semicircle 有效) | String | ease-in-out | - |
|
|
124
|
+
| duration | 动画周期时间(ms) | String \| Number | 1200 | - |
|
|
125
|
+
| inactiveColor | 图标暗边颜色(circle 模式有效) | String | transparent | - |
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
group: 基础
|
|
3
|
+
category: Components
|
|
4
|
+
title: LoadingPage
|
|
5
|
+
subtitle: 加载页
|
|
6
|
+
description: 页面级加载效果组件,可配置提示文案、动画模式、图片替代与样式。
|
|
7
|
+
demo:
|
|
8
|
+
cols: 2
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 何时使用 {#when-to-use}
|
|
12
|
+
|
|
13
|
+
`uv-loading-page` 是页面级加载效果,适用于页面初始化加载数据等场景,与骨架屏有相似之处。
|
|
14
|
+
|
|
15
|
+
> 完整示例下载地址:[uv-ui 插件市场](https://ext.dcloud.net.cn/plugin?name=uv-ui)
|
|
16
|
+
|
|
17
|
+
## 平台兼容性 {#platform}
|
|
18
|
+
|
|
19
|
+
| App(vue) | App(nvue) | H5 | 小程序 | VUE2 | VUE3 |
|
|
20
|
+
| --- | --- | --- | --- | --- | --- |
|
|
21
|
+
| √ | √ | √ | √ | √ | √ |
|
|
22
|
+
|
|
23
|
+
**组件名:** `uv-loading-page`
|
|
24
|
+
|
|
25
|
+
## 代码演示 {#examples}
|
|
26
|
+
|
|
27
|
+
### 基本使用 {#basic}
|
|
28
|
+
|
|
29
|
+
`loading` 控制显示/隐藏,`loading-text` 设置提示文案,`font-size` 设置提示大小。
|
|
30
|
+
|
|
31
|
+
```vue
|
|
32
|
+
<template>
|
|
33
|
+
<uv-loading-page :loading="true" loading-text="加载中..." font-size="24rpx"></uv-loading-page>
|
|
34
|
+
</template>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 动画模式 {#mode}
|
|
38
|
+
|
|
39
|
+
`loading-mode` 可选:`circle / semicircle / spinner`(默认 circle)。
|
|
40
|
+
|
|
41
|
+
```vue
|
|
42
|
+
<template>
|
|
43
|
+
<uv-loading-page :loading="true" loading-mode="spinner"></uv-loading-page>
|
|
44
|
+
</template>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```vue
|
|
48
|
+
<template>
|
|
49
|
+
<uv-loading-page :loading="true" loading-mode="semicircle"></uv-loading-page>
|
|
50
|
+
</template>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 动画图片 {#image}
|
|
54
|
+
|
|
55
|
+
`image` 可指定文字上方用于替换 loading 动画的图片。
|
|
56
|
+
|
|
57
|
+
```vue
|
|
58
|
+
<template>
|
|
59
|
+
<uv-loading-page :loading="true" image="https://www.uvui.cn/common/logo.png"></uv-loading-page>
|
|
60
|
+
</template>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 图标大小 {#icon-size}
|
|
64
|
+
|
|
65
|
+
```vue
|
|
66
|
+
<template>
|
|
67
|
+
<uv-loading-page :loading="true" icon-size="50rpx"></uv-loading-page>
|
|
68
|
+
</template>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## API {#api}
|
|
72
|
+
|
|
73
|
+
### LoadingPage Props {#props}
|
|
74
|
+
|
|
75
|
+
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|
|
76
|
+
| --- | --- | --- | --- | --- |
|
|
77
|
+
| loadingText | 提示内容 | String \| Number | '' | - |
|
|
78
|
+
| image | 替换 loading 动画的图片 | String | - | - |
|
|
79
|
+
| loadingMode | 加载动画模式 | String | circle | circle \| spinner \| semicircle |
|
|
80
|
+
| loading | 是否加载中 | Boolean | false | true \| false |
|
|
81
|
+
| bgColor | 背景颜色 | String | #ffffff | - |
|
|
82
|
+
| color | 文字颜色 | String | #C8C8C8 | - |
|
|
83
|
+
| fontSize | 文字大小 | String \| Number | 19 | - |
|
|
84
|
+
| iconSize | 图标大小 | String \| Number | 28 | - |
|
|
85
|
+
| loadingColor | 加载中图标颜色 | String | #C8C8C8 | - |
|