m8-codex-mcp 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 +113 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/000-/347/273/204/344/273/266/345/272/223/344/270/213/350/275/275/344/275/277/347/224/250.md +188 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/001-actionsheet/345/212/250/344/275/234/351/235/242/346/235/277.md +460 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/004-amap/345/234/260/345/233/276.md +285 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/005-button/346/214/211/351/222/256.md +211 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/008-cell/345/215/225/345/205/203/346/240/274.md +213 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/009-checkbox/345/244/215/351/200/211/346/241/206.md +501 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/010-circle/347/216/257/345/275/242/350/277/233/345/272/246/346/235/241.md +168 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/011-datepicker/346/227/245/346/234/237/351/200/211/346/213/251.md +617 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/013-field/350/276/223/345/205/245/346/241/206.md +539 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/015-form/350/241/250/345/215/225.md +999 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/018-header/345/244/264/351/203/250/345/257/274/350/210/252/346/240/217.md +150 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/019-icon/345/233/276/346/240/207.md +133 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/020-loading/345/212/240/350/275/275.md +117 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/021-noticebar/351/200/232/347/237/245/346/240/217.md +152 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/022-numberkeyboard/346/225/260/345/255/227/351/224/256/347/233/230.md +427 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/023-pagination/345/210/206/351/241/265.md +212 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/024-panel/351/235/242/346/235/277.md +85 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/025-passwordinput/345/257/206/347/240/201/350/276/223/345/205/245/346/241/206.md +175 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/026-picker/351/200/211/346/213/251/345/231/250.md +519 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/027-popup/345/274/271/345/207/272/345/261/202.md +152 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/028-progress/350/277/233/345/272/246/346/235/241.md +103 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/029-radio/345/215/225/351/200/211/346/241/206.md +285 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/030-rate/350/257/204/345/210/206.md +189 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/031-search/346/220/234/347/264/242.md +217 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/032-slider/346/273/221/345/235/227.md +166 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/033-stepper/346/255/245/350/277/233/345/231/250.md +340 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/035-swipecell/346/273/221/345/212/250/345/215/225/345/205/203/346/240/274.md +265 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/036-switch/345/274/200/345/205/263.md +196 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/037-switchcell/345/274/200/345/205/263/345/215/225/345/205/203/346/240/274.md +115 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/038-tag/346/240/207/350/256/260.md +232 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/039-treeselect/345/210/206/347/261/273/351/200/211/346/213/251.md +631 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/040-uploader/346/226/207/344/273/266/344/270/212/344/274/240.md +531 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/041-verifycode/351/252/214/350/257/201/347/240/201.md +111 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/042-minirefresh/344/270/213/346/213/211/345/210/267/346/226/260.md +337 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/043-layout/345/270/203/345/261/200.md +150 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/044-image/345/233/276/347/211/207.md +144 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/045-toast/350/275/273/346/217/220/347/244/272.md +429 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/046-calendar/346/227/245/345/216/206.md +467 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/047-area/347/234/201/345/270/202/345/214/272/351/200/211/346/213/251.md +295 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/048-tab/346/240/207/347/255/276/351/241/265.md +577 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/049-dialog/345/274/271/345/207/272/346/241/206.md +491 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/050-dropdownmenu/344/270/213/346/213/211/350/217/234/345/215/225.md +265 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/051-notify/346/266/210/346/201/257/351/200/232/347/237/245.md +203 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/052-overlay/351/201/256/347/275/251/345/261/202.md +139 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/053-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +199 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/054-grid/345/256/253/346/240/274.md +183 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/055-countdown/345/200/222/350/256/241/346/227/266.md +289 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/056-divider/345/210/206/345/211/262/347/272/277.md +97 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/057-empty/347/251/272/347/212/266/346/200/201.md +146 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/058-imagepreview/345/233/276/347/211/207/351/242/204/350/247/210.md +292 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/059-lazyload/346/207/222/345/212/240/350/275/275.md +120 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/060-skeleton/351/252/250/346/236/266/345/261/217.md +114 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/061-steps/346/255/245/351/252/244/346/235/241.md +119 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/062-sticky/347/262/230/346/200/247/345/270/203/345/261/200.md +208 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/063-indexbar/347/264/242/345/274/225/346/240/217.md +161 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/064-sidebar/344/276/247/350/276/271/345/257/274/350/210/252.md +248 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/065-tabbar/346/240/207/347/255/276/346/240/217.md +314 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/066-badge/345/276/275/346/240/207.md +162 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/067-popover/346/260/224/346/263/241/345/274/271/345/207/272/346/241/206.md +325 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/068-cascader/347/272/247/350/201/224/351/200/211/346/213/251.md +360 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/069-selectperson/351/200/211/344/272/272/347/273/204/344/273/266.md +595 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/070-swipe/350/275/256/346/222/255.md +262 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/071-/345/233/275/351/231/205/345/214/226.md +51 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/072-easycalendar/346/227/245/345/216/206.md +132 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/073-qrcode/344/272/214/347/273/264/347/240/201.md +1538 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/074-imagescale/345/233/276/347/211/207/350/243/201/345/211/252.md +261 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/075-dragsort/346/213/226/346/213/275/346/216/222/345/272/217.md +161 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/076-chart/345/233/276/350/241/250.md +381 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/077-rtc/351/237/263/350/247/206/351/242/221.md +531 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/078-table/350/241/250/346/240/274.md +849 -0
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205.md +247 -0
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205vue3.md +276 -0
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244.md +130 -0
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244vue3.md +115 -0
- package/data/m8mpdoc//346/240/270/345/277/203/351/200/232/347/224/250Util/345/267/245/345/205/267/345/272/223/Ajax/344/270/216/346/226/207/344/273/266/344/270/212/344/274/240.md +456 -0
- package/data/m8mpdoc//346/240/270/345/277/203/351/200/232/347/224/250Util/345/267/245/345/205/267/345/272/223//345/267/245/345/205/267/345/207/275/346/225/260/345/272/223.md +398 -0
- package/data/standards/01-project/naming.md +158 -0
- package/data/standards/01-project/structure.md +106 -0
- package/data/standards/01-project/version-detection.md +195 -0
- package/data/standards/02-vue/basic.md +242 -0
- package/data/standards/02-vue/component.md +299 -0
- package/data/standards/02-vue/examples.md +240 -0
- package/data/standards/02-vue/performance.md +74 -0
- package/data/standards/02-vue/state-management.md +293 -0
- package/data/standards/03-css/index.md +165 -0
- package/data/standards/04-api/ajax.md +178 -0
- package/data/standards/04-api/ejs-api.md +192 -0
- package/data/standards/04-api/util.md +166 -0
- package/data/standards/05-typescript/index.md +166 -0
- package/data/standards/06-mock/index.md +154 -0
- package/data/standards/07-router/index.md +141 -0
- package/data/standards/README.md +82 -0
- package/data/standards/_index.md +215 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/knowledge/index.d.ts +36 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +1 -0
- package/dist/templates/vue2.d.ts +41 -0
- package/dist/templates/vue2.d.ts.map +1 -0
- package/dist/templates/vue2.js +1 -0
- package/dist/templates/vue3.d.ts +41 -0
- package/dist/templates/vue3.d.ts.map +1 -0
- package/dist/templates/vue3.js +1 -0
- package/dist/tools/generate_module_structure.d.ts +21 -0
- package/dist/tools/generate_module_structure.d.ts.map +1 -0
- package/dist/tools/generate_module_structure.js +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# 组件使用
|
|
2
|
+
|
|
3
|
+
## progress 进度条
|
|
4
|
+
|
|
5
|
+
### 介绍
|
|
6
|
+
|
|
7
|
+
- 进度条组件。
|
|
8
|
+
|
|
9
|
+
### 代码演示
|
|
10
|
+
|
|
11
|
+
#### 基础用法
|
|
12
|
+
|
|
13
|
+
进度条默认为蓝色,使用`percentage`属性来设置当前进度。
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<em-progress :percentage="50" />
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
#### 线条粗细
|
|
20
|
+
|
|
21
|
+
通过`stroke-width`可以设置进度条的粗细
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<em-progress :percentage="50" stroke-width="8" />
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### 置灰
|
|
28
|
+
|
|
29
|
+
设置`inactive`属性后进度条将置灰
|
|
30
|
+
|
|
31
|
+
```html
|
|
32
|
+
<em-progress inactive :percentage="50" />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### 样式定制
|
|
36
|
+
|
|
37
|
+
可以使用`pivot-text`属性自定义文字,`color`属性自定义进度条颜色
|
|
38
|
+
|
|
39
|
+
```html
|
|
40
|
+
<em-progress pivot-text="橙色" color="#f2826a" :percentage="25" />
|
|
41
|
+
<em-progress pivot-text="红色" color="#ee0a24" :percentage="50" />
|
|
42
|
+
<em-progress
|
|
43
|
+
:percentage="75"
|
|
44
|
+
pivot-text="紫色"
|
|
45
|
+
pivot-color="#7232dd"
|
|
46
|
+
color="linear-gradient(to right, #be99ff, #7232dd)"
|
|
47
|
+
/>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### API
|
|
51
|
+
|
|
52
|
+
#### Props
|
|
53
|
+
|
|
54
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
55
|
+
| :----------- | :------------------------: | :-------------- | :----------- |
|
|
56
|
+
| percentage | 进度百分比 | number / string | `0` |
|
|
57
|
+
| stroke-width | 进度条粗细,默认单位为`px` | number / string | `4px` |
|
|
58
|
+
| color | 进度条颜色 | string | `#2e6be5` |
|
|
59
|
+
| track-color | 轨道颜色 | string | `#e5e5e5` |
|
|
60
|
+
| pivot-text | 进度文字内容 | string | 百分比 |
|
|
61
|
+
| pivot-color | 进度文字背景色 | string | 同进度条颜色 |
|
|
62
|
+
| text-color | 进度文字颜色 | string | `white` |
|
|
63
|
+
| inactive | 是否置灰 | boolean | `false` |
|
|
64
|
+
| show-pivot | 是否显示进度文字 | boolean | `true` |
|
|
65
|
+
|
|
66
|
+
#### 方法
|
|
67
|
+
|
|
68
|
+
通过 `ref` 可以获取到 `Progress` 实例并调用实例方法,详见组件实例方法。
|
|
69
|
+
|
|
70
|
+
| 方法名 | 说明 | 参数 | 返回值 |
|
|
71
|
+
| :----- | :------------------------------------------: | :--- | :----- |
|
|
72
|
+
| resize | 外层元素大小变化后,可以调用此方法来触发重绘 | - | - |
|
|
73
|
+
|
|
74
|
+
::: ifdef M83
|
|
75
|
+
<iframe
|
|
76
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-progress"
|
|
77
|
+
frameborder=0
|
|
78
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
79
|
+
</iframe>
|
|
80
|
+
::: endif
|
|
81
|
+
::: ifdef M84
|
|
82
|
+
<iframe
|
|
83
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-progress"
|
|
84
|
+
frameborder=0
|
|
85
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
86
|
+
</iframe>
|
|
87
|
+
::: endif
|
|
88
|
+
|
|
89
|
+
<style>
|
|
90
|
+
.ui-showcase-iframe {
|
|
91
|
+
position: fixed;
|
|
92
|
+
right: 3.5vw;
|
|
93
|
+
top: 17%;
|
|
94
|
+
width: 375px;
|
|
95
|
+
height: 75vh;
|
|
96
|
+
box-shadow: 0 0 12px 6px #eee;
|
|
97
|
+
border-radius: 15px;
|
|
98
|
+
}
|
|
99
|
+
.main .markdown-body {
|
|
100
|
+
padding: 45px;
|
|
101
|
+
width: calc(97vw - 661px);
|
|
102
|
+
}
|
|
103
|
+
</style>
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# 组件使用
|
|
2
|
+
|
|
3
|
+
## radio 单选框
|
|
4
|
+
|
|
5
|
+
### 介绍
|
|
6
|
+
|
|
7
|
+
- 单选框组件。
|
|
8
|
+
|
|
9
|
+
### 代码演示
|
|
10
|
+
|
|
11
|
+
#### 基础用法
|
|
12
|
+
|
|
13
|
+
通过`v-model`绑定值当前选中项的 `name`。
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<em-radio-group v-model="radio">
|
|
17
|
+
<em-radio name="1">单选框 1</em-radio>
|
|
18
|
+
<em-radio name="2">单选框 2</em-radio>
|
|
19
|
+
</em-radio-group>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
::: ifdef M83
|
|
23
|
+
|
|
24
|
+
```js
|
|
25
|
+
export default {
|
|
26
|
+
data() {
|
|
27
|
+
return {
|
|
28
|
+
radio: '1'
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
::: endif
|
|
35
|
+
::: ifdef M84
|
|
36
|
+
|
|
37
|
+
```js
|
|
38
|
+
import { ref } from 'vue';
|
|
39
|
+
const radio = ref('1');
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
::: endif
|
|
43
|
+
|
|
44
|
+
#### 水平排列
|
|
45
|
+
|
|
46
|
+
将`direction`属性设置为`horizontal`后,单选框组会变成水平排列
|
|
47
|
+
|
|
48
|
+
```html
|
|
49
|
+
<em-radio-group v-model="radio" direction="horizontal">
|
|
50
|
+
<em-radio name="1">单选框 1</em-radio>
|
|
51
|
+
<em-radio name="2">单选框 2</em-radio>
|
|
52
|
+
</em-radio-group>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### 禁用状态
|
|
56
|
+
|
|
57
|
+
通过`disabled`属性禁止选项切换,在`Radio`上设置`disabled`可以禁用单个选项。
|
|
58
|
+
|
|
59
|
+
```html
|
|
60
|
+
<em-radio-group v-model="radio" disabled>
|
|
61
|
+
<em-radio name="1">单选框 1</em-radio>
|
|
62
|
+
<em-radio name="2">单选框 2</em-radio>
|
|
63
|
+
</em-radio-group>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
#### 自定义颜色
|
|
67
|
+
|
|
68
|
+
通过`checked-color`属性设置选中状态的图标颜色
|
|
69
|
+
|
|
70
|
+
```html
|
|
71
|
+
<em-radio-group v-model="radio">
|
|
72
|
+
<em-radio name="1" checked-color="#07c160">单选框 1</em-radio>
|
|
73
|
+
<em-radio name="2" checked-color="#07c160">单选框 2</em-radio>
|
|
74
|
+
</em-radio-group>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### 自定义大小
|
|
78
|
+
|
|
79
|
+
通过`icon-size`属性可以自定义图标的大小
|
|
80
|
+
|
|
81
|
+
```html
|
|
82
|
+
<em-radio-group v-model="radio">
|
|
83
|
+
<em-radio name="1" icon-size="32px">单选框 1</em-radio>
|
|
84
|
+
<em-radio name="2" icon-size="32px">单选框 2</em-radio>
|
|
85
|
+
</em-radio-group>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
#### 自定义图标
|
|
89
|
+
|
|
90
|
+
通过`icon`插槽自定义图标,并通过`slotProps`判断是否为选中状态
|
|
91
|
+
|
|
92
|
+
```html
|
|
93
|
+
<em-radio-group v-model="radio" icon>
|
|
94
|
+
<em-radio name="1">
|
|
95
|
+
单选框 1
|
|
96
|
+
<template #icon="props">
|
|
97
|
+
<img class="img-icon" :src="props.checked ? activeIcon : inactiveIcon" />
|
|
98
|
+
</template>
|
|
99
|
+
</em-radio>
|
|
100
|
+
<em-radio name="2">
|
|
101
|
+
单选框 2
|
|
102
|
+
<template #icon="props">
|
|
103
|
+
<img class="img-icon" :src="props.checked ? activeIcon : inactiveIcon" />
|
|
104
|
+
</template>
|
|
105
|
+
</em-radio>
|
|
106
|
+
</em-radio-group>
|
|
107
|
+
|
|
108
|
+
<style>
|
|
109
|
+
.img-icon {
|
|
110
|
+
height: 20px;
|
|
111
|
+
}
|
|
112
|
+
</style>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
::: ifdef M83
|
|
116
|
+
|
|
117
|
+
```js
|
|
118
|
+
export default {
|
|
119
|
+
data() {
|
|
120
|
+
return {
|
|
121
|
+
radio: '1',
|
|
122
|
+
activeIcon: 'https://img.yzcdn.cn/vant/user-active.png',
|
|
123
|
+
inactiveIcon: 'https://img.yzcdn.cn/vant/user-inactive.png'
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
::: endif
|
|
130
|
+
::: ifdef M84
|
|
131
|
+
|
|
132
|
+
```js
|
|
133
|
+
import { ref } from 'vue';
|
|
134
|
+
const radio = ref('1');
|
|
135
|
+
const activeIcon = 'https://img.yzcdn.cn/vant/user-active.png';
|
|
136
|
+
const inactiveIcon = 'https://img.yzcdn.cn/vant/user-inactive.png';
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
::: endif
|
|
140
|
+
|
|
141
|
+
#### 中选框
|
|
142
|
+
|
|
143
|
+
设置 `indeterminate` 属性可调整单选框风格
|
|
144
|
+
|
|
145
|
+
```html
|
|
146
|
+
<em-radio-group v-model="radio">
|
|
147
|
+
<em-radio name="1" :indeterminate="indeterminate">单选框 1</em-radio>
|
|
148
|
+
<em-radio name="2" checked-color="#07c160" :indeterminate="indeterminate">单选框 2</em-radio>
|
|
149
|
+
<em-radio name="3" disabled checked-color="#07c160" :indeterminate="indeterminate">单选框 3</em-radio>
|
|
150
|
+
</em-radio-group>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
::: ifdef M83
|
|
154
|
+
|
|
155
|
+
```js
|
|
156
|
+
export default {
|
|
157
|
+
data() {
|
|
158
|
+
return {
|
|
159
|
+
radio: '1',
|
|
160
|
+
indeterminate: true
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
::: endif
|
|
167
|
+
::: ifdef M84
|
|
168
|
+
|
|
169
|
+
```js
|
|
170
|
+
import { ref } from 'vue';
|
|
171
|
+
const radio = ref('1');
|
|
172
|
+
const indeterminate = ref(true);
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
::: endif
|
|
176
|
+
|
|
177
|
+
#### 禁用文本点击
|
|
178
|
+
|
|
179
|
+
设置`label-disabled`属性后,点击图标以外的内容不会触发单选框切换
|
|
180
|
+
|
|
181
|
+
```html
|
|
182
|
+
<em-radio-group v-model="radio">
|
|
183
|
+
<em-radio name="1" label-disabled>单选框 1</em-radio>
|
|
184
|
+
<em-radio name="2" label-disabled>单选框 2</em-radio>
|
|
185
|
+
</em-radio-group>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
#### 与 Cell 组件一起使用
|
|
189
|
+
|
|
190
|
+
此时你需要再引入`Cell`和`CellGroup`组件。
|
|
191
|
+
|
|
192
|
+
```html
|
|
193
|
+
<em-radio-group v-model="radio">
|
|
194
|
+
<em-cell-group>
|
|
195
|
+
<em-cell title="单选框 1" @click="radio = '1'">
|
|
196
|
+
<template #rightIcon>
|
|
197
|
+
<em-radio name="1" />
|
|
198
|
+
</template>
|
|
199
|
+
</em-cell>
|
|
200
|
+
<em-cell title="单选框 2" @click="radio = '2'">
|
|
201
|
+
<template #rightIcon>
|
|
202
|
+
<em-radio name="2" />
|
|
203
|
+
</template>
|
|
204
|
+
</em-cell>
|
|
205
|
+
</em-cell-group>
|
|
206
|
+
</em-radio-group>
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### API
|
|
210
|
+
|
|
211
|
+
#### Props
|
|
212
|
+
|
|
213
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
214
|
+
| :------------- | :------------------------------------------------------------------------: | :-------------- | :-------- |
|
|
215
|
+
| name | 标识符, 注意微信小程序请传递字符串 | any | - |
|
|
216
|
+
| shape | 形状,可选值为 `square`(为了与 PC 保持统一,`v8.3.7`开始默认值改为`round`) | string | `round` |
|
|
217
|
+
| indeterminate | 启用中选框 | boolean | `false` |
|
|
218
|
+
| disabled | 是否为禁用状态 | boolean | `false` |
|
|
219
|
+
| label-disabled | 是否禁用文本内容点击 | boolean | `false` |
|
|
220
|
+
| label-position | 文本位置,可选值为 `left` | string | `right` |
|
|
221
|
+
| icon-size | 图标大小,默认单位为`px` | number / string | `20px` |
|
|
222
|
+
| checked-color | 选中状态颜色 | string | `#1989fa` |
|
|
223
|
+
| icon | 自定义图标时需要添加该属性 | boolean | false |
|
|
224
|
+
|
|
225
|
+
#### RadioGroup Props
|
|
226
|
+
|
|
227
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
228
|
+
| :--------------------------------------------------------------------------- | :----------------------------------: | :-------------- | :--------- |
|
|
229
|
+
| v-model ::: ifdef M83 (value) ::: endif ::: ifdef M84 (modelValue) ::: endif | 当前选中项的标识符 | any | - |
|
|
230
|
+
| disabled | 是否禁用所有单选框 | boolean | `false` |
|
|
231
|
+
| direction | 排列方向,可选值为`horizontal` | string | `vertical` |
|
|
232
|
+
| icon-size | 所有单选框的图标大小,默认单位为`px` | number / string | `20px` |
|
|
233
|
+
| checked-color | 所有单选框的选中状态颜色 | string | `#1989fa` |
|
|
234
|
+
|
|
235
|
+
#### Radio Events
|
|
236
|
+
|
|
237
|
+
| 事件名 | 说明 | 回调参数 |
|
|
238
|
+
| :-------------------------------------------- | :-------------------: | :------------------------- |
|
|
239
|
+
| click | 点击单选框时触发 | event: Event,value: string |
|
|
240
|
+
| ::: ifdef M84 update:checked `v8.4` ::: endif | 用于同步 checked 事件 | checked: boolean |
|
|
241
|
+
|
|
242
|
+
#### RadioGroup Events
|
|
243
|
+
|
|
244
|
+
| 事件名 | 说明 | 回调参数 |
|
|
245
|
+
| :----- | :----------------------: | :----------- |
|
|
246
|
+
| change | 当绑定值变化时触发的事件 | name: string |
|
|
247
|
+
|
|
248
|
+
#### Radio Slots
|
|
249
|
+
|
|
250
|
+
| 名称 | 说明 | SlotProps |
|
|
251
|
+
| :------ | :--------: | :--------------- |
|
|
252
|
+
| default | 自定义文本 | - |
|
|
253
|
+
| icon | 自定义图标 | checked: boolean |
|
|
254
|
+
|
|
255
|
+
::: ifdef M83
|
|
256
|
+
|
|
257
|
+
<iframe
|
|
258
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-radio"
|
|
259
|
+
frameborder=0
|
|
260
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
261
|
+
</iframe>
|
|
262
|
+
::: endif
|
|
263
|
+
::: ifdef M84
|
|
264
|
+
<iframe
|
|
265
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-radio"
|
|
266
|
+
frameborder=0
|
|
267
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
268
|
+
</iframe>
|
|
269
|
+
::: endif
|
|
270
|
+
|
|
271
|
+
<style>
|
|
272
|
+
.ui-showcase-iframe {
|
|
273
|
+
position: fixed;
|
|
274
|
+
right: 3.5vw;
|
|
275
|
+
top: 17%;
|
|
276
|
+
width: 375px;
|
|
277
|
+
height: 75vh;
|
|
278
|
+
box-shadow: 0 0 12px 6px #eee;
|
|
279
|
+
border-radius: 15px;
|
|
280
|
+
}
|
|
281
|
+
.main .markdown-body {
|
|
282
|
+
padding: 45px;
|
|
283
|
+
width: calc(97vw - 661px);
|
|
284
|
+
}
|
|
285
|
+
</style>
|
package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/030-rate/350/257/204/345/210/206.md
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# 组件使用
|
|
2
|
+
|
|
3
|
+
## rate 评分
|
|
4
|
+
|
|
5
|
+
### 介绍
|
|
6
|
+
|
|
7
|
+
- 评分组件。
|
|
8
|
+
|
|
9
|
+
### 代码演示
|
|
10
|
+
|
|
11
|
+
#### 基础用法
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<em-rate v-model="value" />
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
::: ifdef M83
|
|
18
|
+
|
|
19
|
+
```js
|
|
20
|
+
export default {
|
|
21
|
+
data() {
|
|
22
|
+
return {
|
|
23
|
+
value: 3
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
::: endif
|
|
30
|
+
::: ifdef M84
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
import { ref } from 'vue';
|
|
34
|
+
const value = ref(3);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
::: endif
|
|
38
|
+
|
|
39
|
+
#### 自定义图标
|
|
40
|
+
|
|
41
|
+
```html
|
|
42
|
+
<em-rate v-model="value" icon="like" void-icon="like-o" />
|
|
43
|
+
自定义样式
|
|
44
|
+
<em-rate v-model="value" :size="25" color="#ffd21e" void-icon="star" void-color="#eee" />
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
#### 半星
|
|
48
|
+
|
|
49
|
+
```html
|
|
50
|
+
<em-rate v-model="value" allow-half void-icon="star" void-color="#eee" />
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
::: ifdef M83
|
|
54
|
+
|
|
55
|
+
```js
|
|
56
|
+
export default {
|
|
57
|
+
data() {
|
|
58
|
+
return {
|
|
59
|
+
value: 2.5
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
::: endif
|
|
66
|
+
::: ifdef M84
|
|
67
|
+
|
|
68
|
+
```js
|
|
69
|
+
import { ref } from 'vue';
|
|
70
|
+
const value = ref(2.5);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
::: endif
|
|
74
|
+
|
|
75
|
+
#### 自定义数量
|
|
76
|
+
|
|
77
|
+
::: ifdef M83
|
|
78
|
+
|
|
79
|
+
```html
|
|
80
|
+
<em-rate v-model="value" :count="6" />
|
|
81
|
+
禁用状态
|
|
82
|
+
<em-rate v-model="value" disabled />
|
|
83
|
+
只读状态
|
|
84
|
+
<em-rate v-model="value" readonly />
|
|
85
|
+
监听 change 事件
|
|
86
|
+
<em-rate v-model="value" @change="onChange" />
|
|
87
|
+
<em-toast ref="emToast"></em-toast>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
```js
|
|
91
|
+
export default {
|
|
92
|
+
method: {
|
|
93
|
+
onChange(value) {
|
|
94
|
+
Toast({
|
|
95
|
+
message: '当前值:' + value
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
::: endif
|
|
103
|
+
::: ifdef M84
|
|
104
|
+
|
|
105
|
+
```html
|
|
106
|
+
<em-rate v-model="value" :count="6" />
|
|
107
|
+
禁用状态
|
|
108
|
+
<em-rate v-model="value" disabled />
|
|
109
|
+
只读状态
|
|
110
|
+
<em-rate v-model="value" readonly />
|
|
111
|
+
监听 change 事件
|
|
112
|
+
<em-rate v-model="value" @change="onChange" />
|
|
113
|
+
<em-toast ref="emToastRef"></em-toast>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
```js
|
|
117
|
+
import { ref } from 'vue';
|
|
118
|
+
const onChange = (value) => {
|
|
119
|
+
Toast({
|
|
120
|
+
message: '当前值:' + value
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
const emToastRef = ref(null);
|
|
124
|
+
|
|
125
|
+
defineExpose({
|
|
126
|
+
emToastRef
|
|
127
|
+
});
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
::: endif
|
|
131
|
+
|
|
132
|
+
### API
|
|
133
|
+
|
|
134
|
+
#### Props
|
|
135
|
+
|
|
136
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
137
|
+
| :--------------------------------------------------------------------------- | :------------------------------------------------: | :-------------- | :--------- |
|
|
138
|
+
| v-model ::: ifdef M83 (value) ::: endif ::: ifdef M84 (modelValue) ::: endif | 当前分值 | number | - |
|
|
139
|
+
| count | 图标总数 | number / string | `5` |
|
|
140
|
+
| size | 图标大小,默认单位为`px` | number / string | `20px` |
|
|
141
|
+
| gutter | 图标间距,默认单位为`px` | number / string | `4px` |
|
|
142
|
+
| color | 选中时的颜色 | string | `#e03f3f` |
|
|
143
|
+
| void-color | 未选中时的颜色 | string | `#b8becc` |
|
|
144
|
+
| disabled-color | 禁用时的颜色 | string | `#b8becc` |
|
|
145
|
+
| icon | 选中时的图标名称或图片链接 | string | `star` |
|
|
146
|
+
| void-icon | 未选中时的图标名称或图片链接 | string | `star-o` |
|
|
147
|
+
| icon-prefix | 图标类名前缀,同 `Icon` 组件的 `class-prefix` 属性 | string | `van-icon` |
|
|
148
|
+
| allow-half | 是否允许半选 | boolean | `false` |
|
|
149
|
+
| readonly | 是否为只读状态 | boolean | `false` |
|
|
150
|
+
| disabled | 是否禁用评分 | boolean | `false` |
|
|
151
|
+
| touchable | 是否可以通过滑动手势选择评分 | boolean | `true` |
|
|
152
|
+
|
|
153
|
+
#### Events
|
|
154
|
+
|
|
155
|
+
| 事件名 | 说明 | 回调参数 |
|
|
156
|
+
| :----- | :----------------------: | :------- |
|
|
157
|
+
| change | 当前分值变化时触发的事件 | 当前分值 |
|
|
158
|
+
| input | 当前分值滑动时触发的事件 | 当前分值 |
|
|
159
|
+
|
|
160
|
+
::: ifdef M83
|
|
161
|
+
<iframe
|
|
162
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-rate"
|
|
163
|
+
frameborder=0
|
|
164
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
165
|
+
</iframe>
|
|
166
|
+
::: endif
|
|
167
|
+
::: ifdef M84
|
|
168
|
+
<iframe
|
|
169
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-rate"
|
|
170
|
+
frameborder=0
|
|
171
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
172
|
+
</iframe>
|
|
173
|
+
::: endif
|
|
174
|
+
|
|
175
|
+
<style>
|
|
176
|
+
.ui-showcase-iframe {
|
|
177
|
+
position: fixed;
|
|
178
|
+
right: 3.5vw;
|
|
179
|
+
top: 17%;
|
|
180
|
+
width: 375px;
|
|
181
|
+
height: 75vh;
|
|
182
|
+
box-shadow: 0 0 12px 6px #eee;
|
|
183
|
+
border-radius: 15px;
|
|
184
|
+
}
|
|
185
|
+
.main .markdown-body {
|
|
186
|
+
padding: 45px;
|
|
187
|
+
width: calc(97vw - 661px);
|
|
188
|
+
}
|
|
189
|
+
</style>
|