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.
Files changed (110) hide show
  1. package/README.md +113 -0
  2. 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
  3. 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
  4. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/004-amap/345/234/260/345/233/276.md +285 -0
  5. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/005-button/346/214/211/351/222/256.md +211 -0
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/015-form/350/241/250/345/215/225.md +999 -0
  12. 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
  13. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/019-icon/345/233/276/346/240/207.md +133 -0
  14. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/020-loading/345/212/240/350/275/275.md +117 -0
  15. 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
  16. 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
  17. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/023-pagination/345/210/206/351/241/265.md +212 -0
  18. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/024-panel/351/235/242/346/235/277.md +85 -0
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/030-rate/350/257/204/345/210/206.md +189 -0
  25. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/031-search/346/220/234/347/264/242.md +217 -0
  26. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/032-slider/346/273/221/345/235/227.md +166 -0
  27. 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
  28. 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
  29. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/036-switch/345/274/200/345/205/263.md +196 -0
  30. 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
  31. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/038-tag/346/240/207/350/256/260.md +232 -0
  32. 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
  33. 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
  34. 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
  35. 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
  36. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/043-layout/345/270/203/345/261/200.md +150 -0
  37. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/044-image/345/233/276/347/211/207.md +144 -0
  38. 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
  39. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/046-calendar/346/227/245/345/216/206.md +467 -0
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/054-grid/345/256/253/346/240/274.md +183 -0
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/066-badge/345/276/275/346/240/207.md +162 -0
  60. 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
  61. 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
  62. 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
  63. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/070-swipe/350/275/256/346/222/255.md +262 -0
  64. 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
  65. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/072-easycalendar/346/227/245/345/216/206.md +132 -0
  66. 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
  67. 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
  68. 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
  69. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/076-chart/345/233/276/350/241/250.md +381 -0
  70. 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
  71. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/078-table/350/241/250/346/240/274.md +849 -0
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. package/data/standards/01-project/naming.md +158 -0
  79. package/data/standards/01-project/structure.md +106 -0
  80. package/data/standards/01-project/version-detection.md +195 -0
  81. package/data/standards/02-vue/basic.md +242 -0
  82. package/data/standards/02-vue/component.md +299 -0
  83. package/data/standards/02-vue/examples.md +240 -0
  84. package/data/standards/02-vue/performance.md +74 -0
  85. package/data/standards/02-vue/state-management.md +293 -0
  86. package/data/standards/03-css/index.md +165 -0
  87. package/data/standards/04-api/ajax.md +178 -0
  88. package/data/standards/04-api/ejs-api.md +192 -0
  89. package/data/standards/04-api/util.md +166 -0
  90. package/data/standards/05-typescript/index.md +166 -0
  91. package/data/standards/06-mock/index.md +154 -0
  92. package/data/standards/07-router/index.md +141 -0
  93. package/data/standards/README.md +82 -0
  94. package/data/standards/_index.md +215 -0
  95. package/dist/index.d.ts +10 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +2 -0
  98. package/dist/knowledge/index.d.ts +36 -0
  99. package/dist/knowledge/index.d.ts.map +1 -0
  100. package/dist/knowledge/index.js +1 -0
  101. package/dist/templates/vue2.d.ts +41 -0
  102. package/dist/templates/vue2.d.ts.map +1 -0
  103. package/dist/templates/vue2.js +1 -0
  104. package/dist/templates/vue3.d.ts +41 -0
  105. package/dist/templates/vue3.d.ts.map +1 -0
  106. package/dist/templates/vue3.js +1 -0
  107. package/dist/tools/generate_module_structure.d.ts +21 -0
  108. package/dist/tools/generate_module_structure.d.ts.map +1 -0
  109. package/dist/tools/generate_module_structure.js +1 -0
  110. 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>
@@ -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>