m8-mcp-server 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 (160) hide show
  1. package/README.md +67 -0
  2. package/bin/m8-mcp.js +2 -0
  3. package/dist/constants.js +1 -0
  4. package/dist/data/ejs-doc/api_audio/api_audio.md +225 -0
  5. package/dist/data/ejs-doc/api_auth/api_auth.md +256 -0
  6. package/dist/data/ejs-doc/api_contact/api_contact.md +295 -0
  7. package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  8. package/dist/data/ejs-doc/api_device/api_device.md +761 -0
  9. package/dist/data/ejs-doc/api_event/api_event.md +244 -0
  10. package/dist/data/ejs-doc/api_global/api_global.md +440 -0
  11. package/dist/data/ejs-doc/api_io/api_io.md +369 -0
  12. package/dist/data/ejs-doc/api_navigator/api_navigator.md +654 -0
  13. package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  14. package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  15. package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  16. package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  17. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  18. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  19. package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  20. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  21. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  22. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  23. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  24. package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  25. package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  26. package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  27. package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  28. package/dist/data/ejs-doc/api_page/api_page.md +261 -0
  29. package/dist/data/ejs-doc/api_runtime/api_runtime.md +788 -0
  30. package/dist/data/ejs-doc/api_storage/api_storage.md +320 -0
  31. package/dist/data/ejs-doc/api_stream/api_stream.md +152 -0
  32. package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  33. package/dist/data/ejs-doc/api_ui/api_ui.md +836 -0
  34. package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  35. package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  36. package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
  37. package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  38. package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  39. package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  40. package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  41. package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  42. package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  43. package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  44. package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  45. package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  46. package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
  47. package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
  48. package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
  49. package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  50. package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  51. package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
  52. package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  53. package/dist/data/ejs-doc/api_util/api_util.md +615 -0
  54. package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
  55. package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
  56. package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
  57. package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
  58. package/dist/data/m8mpdoc-develop/003-/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
  59. package/dist/data/m8mpdoc-develop/003-/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
  60. package/dist/data/m8mpdoc-develop/003-/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
  61. package/dist/data/m8mpdoc-develop/003-/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
  62. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/000-/346/240/270/345/277/203/346/226/271/346/263/225.md +398 -0
  63. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/001-Ajax/344/270/216/346/226/207/344/273/266/344/270/212/344/274/240.md +456 -0
  64. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +128 -0
  65. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +142 -0
  66. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +210 -0
  67. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +85 -0
  68. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +21 -0
  69. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +36 -0
  70. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +128 -0
  71. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +148 -0
  72. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/010-Util/346/211/251/345/261/225/346/214/207/345/215/227.md +76 -0
  73. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +59 -0
  74. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +95 -0
  75. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +76 -0
  76. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +202 -0
  77. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +92 -0
  78. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +412 -0
  79. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +146 -0
  80. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +137 -0
  81. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +363 -0
  82. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/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
  83. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/001-actionsheet/345/212/250/344/275/234/351/235/242/346/235/277.md +460 -0
  84. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +285 -0
  85. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +211 -0
  86. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/008-cell/345/215/225/345/205/203/346/240/274.md +213 -0
  87. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/009-checkbox/345/244/215/351/200/211/346/241/206.md +501 -0
  88. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/010-circle/347/216/257/345/275/242/350/277/233/345/272/246/346/235/241.md +168 -0
  89. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/011-datepicker/346/227/245/346/234/237/351/200/211/346/213/251.md +617 -0
  90. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/013-field/350/276/223/345/205/245/346/241/206.md +539 -0
  91. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +999 -0
  92. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/018-header/345/244/264/351/203/250/345/257/274/350/210/252/346/240/217.md +150 -0
  93. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +133 -0
  94. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +117 -0
  95. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/021-noticebar/351/200/232/347/237/245/346/240/217.md +152 -0
  96. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/022-numberkeyboard/346/225/260/345/255/227/351/224/256/347/233/230.md +427 -0
  97. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +212 -0
  98. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +85 -0
  99. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/025-passwordinput/345/257/206/347/240/201/350/276/223/345/205/245/346/241/206.md +175 -0
  100. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/026-picker/351/200/211/346/213/251/345/231/250.md +519 -0
  101. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/027-popup/345/274/271/345/207/272/345/261/202.md +152 -0
  102. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/028-progress/350/277/233/345/272/246/346/235/241.md +103 -0
  103. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/029-radio/345/215/225/351/200/211/346/241/206.md +285 -0
  104. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +189 -0
  105. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +217 -0
  106. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +166 -0
  107. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/033-stepper/346/255/245/350/277/233/345/231/250.md +340 -0
  108. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/035-swipecell/346/273/221/345/212/250/345/215/225/345/205/203/346/240/274.md +265 -0
  109. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +196 -0
  110. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/037-switchcell/345/274/200/345/205/263/345/215/225/345/205/203/346/240/274.md +115 -0
  111. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +232 -0
  112. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/039-treeselect/345/210/206/347/261/273/351/200/211/346/213/251.md +631 -0
  113. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/040-uploader/346/226/207/344/273/266/344/270/212/344/274/240.md +531 -0
  114. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/041-verifycode/351/252/214/350/257/201/347/240/201.md +111 -0
  115. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/042-minirefresh/344/270/213/346/213/211/345/210/267/346/226/260.md +337 -0
  116. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +150 -0
  117. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +144 -0
  118. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/045-toast/350/275/273/346/217/220/347/244/272.md +429 -0
  119. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +467 -0
  120. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/047-area/347/234/201/345/270/202/345/214/272/351/200/211/346/213/251.md +295 -0
  121. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/048-tab/346/240/207/347/255/276/351/241/265.md +577 -0
  122. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/049-dialog/345/274/271/345/207/272/346/241/206.md +491 -0
  123. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/050-dropdownmenu/344/270/213/346/213/211/350/217/234/345/215/225.md +265 -0
  124. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/051-notify/346/266/210/346/201/257/351/200/232/347/237/245.md +203 -0
  125. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/052-overlay/351/201/256/347/275/251/345/261/202.md +139 -0
  126. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/053-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +199 -0
  127. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +183 -0
  128. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/055-countdown/345/200/222/350/256/241/346/227/266.md +289 -0
  129. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/056-divider/345/210/206/345/211/262/347/272/277.md +97 -0
  130. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/057-empty/347/251/272/347/212/266/346/200/201.md +146 -0
  131. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/058-imagepreview/345/233/276/347/211/207/351/242/204/350/247/210.md +292 -0
  132. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/059-lazyload/346/207/222/345/212/240/350/275/275.md +120 -0
  133. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/060-skeleton/351/252/250/346/236/266/345/261/217.md +114 -0
  134. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/061-steps/346/255/245/351/252/244/346/235/241.md +119 -0
  135. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/062-sticky/347/262/230/346/200/247/345/270/203/345/261/200.md +208 -0
  136. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/063-indexbar/347/264/242/345/274/225/346/240/217.md +161 -0
  137. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/064-sidebar/344/276/247/350/276/271/345/257/274/350/210/252.md +248 -0
  138. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/065-tabbar/346/240/207/347/255/276/346/240/217.md +314 -0
  139. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +162 -0
  140. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/067-popover/346/260/224/346/263/241/345/274/271/345/207/272/346/241/206.md +325 -0
  141. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/068-cascader/347/272/247/350/201/224/351/200/211/346/213/251.md +360 -0
  142. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/069-selectperson/351/200/211/344/272/272/347/273/204/344/273/266.md +595 -0
  143. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +262 -0
  144. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +51 -0
  145. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +132 -0
  146. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/073-qrcode/344/272/214/347/273/264/347/240/201.md +1538 -0
  147. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/074-imagescale/345/233/276/347/211/207/350/243/201/345/211/252.md +261 -0
  148. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/075-dragsort/346/213/226/346/213/275/346/216/222/345/272/217.md +161 -0
  149. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +381 -0
  150. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/077-rtc/351/237/263/350/247/206/351/242/221.md +531 -0
  151. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +849 -0
  152. package/dist/data/m8mpdoc-develop/012-Mock/347/232/204/344/275/277/347/224/250/Mock/347/232/204/344/275/277/347/224/250.md +116 -0
  153. package/dist/data/standards/css-style.md +531 -0
  154. package/dist/data/standards/js-style.md +394 -0
  155. package/dist/data/standards/project-structure.md +325 -0
  156. package/dist/data/standards/vue-style.md +644 -0
  157. package/dist/index.js +1 -0
  158. package/dist/tools/search.js +1 -0
  159. package/dist/tools/standards.js +1 -0
  160. package/package.json +43 -0
@@ -0,0 +1,340 @@
1
+ # 组件使用
2
+
3
+ ## stepper 步进器
4
+
5
+ ### 介绍
6
+
7
+ - 步进器由增加按钮、减少按钮和输入框组成,用于在一定范围内输入、调整数字。
8
+
9
+ ### 代码演示
10
+
11
+ #### 基础用法
12
+
13
+ 可以通过`change`事件监听到输入值的变化。
14
+
15
+ ::: ifdef M83
16
+
17
+ ```html
18
+ <em-stepper :value="value" />
19
+ ```
20
+
21
+ ```js
22
+ export default {
23
+ data() {
24
+ return {
25
+ value: 1
26
+ };
27
+ }
28
+ };
29
+ ```
30
+
31
+ ::: endif
32
+
33
+ ::: ifdef M84
34
+
35
+ ```html
36
+ <em-stepper :model-value="value" />
37
+ ```
38
+
39
+ ```js
40
+ import { ref } from 'vue';
41
+ const value = ref(1);
42
+ ```
43
+
44
+ ::: endif
45
+
46
+ #### 步长设置
47
+
48
+ 通过`step`属性设置每次点击增加或减少按钮时变化的值,默认为`1`
49
+
50
+ ::: ifdef M83
51
+
52
+ ```html
53
+ <em-stepper :value="value" step="2" />
54
+ ```
55
+
56
+ ::: endif
57
+
58
+ ::: ifdef M84
59
+
60
+ ```html
61
+ <em-stepper :model-value="value" step="2" />
62
+ ```
63
+
64
+ ::: endif
65
+
66
+ #### 限制输入范围
67
+
68
+ 通过`min`和`max`属性限制输入值的范围
69
+
70
+ ::: ifdef M83
71
+
72
+ ```html
73
+ <em-stepper :value="value" min="5" max="8" />
74
+ ```
75
+
76
+ ::: endif
77
+
78
+ ::: ifdef M84
79
+
80
+ ```html
81
+ <em-stepper :model-value="value" min="5" max="8" />
82
+ ```
83
+
84
+ ::: endif
85
+
86
+ #### 限制输入整数
87
+
88
+ 设置`integer`属性后,输入框将限制只能输入整数
89
+
90
+ ::: ifdef M83
91
+
92
+ ```html
93
+ <em-stepper :value="value" integer />
94
+ ```
95
+
96
+ ::: endif
97
+
98
+ ::: ifdef M84
99
+
100
+ ```html
101
+ <em-stepper :model-value="value" integer />
102
+ ```
103
+
104
+ ::: endif
105
+
106
+ #### 禁用状态
107
+
108
+ 通过设置`disabled`属性来禁用步进器,禁用状态下无法点击按钮或修改输入框
109
+
110
+ ::: ifdef M83
111
+
112
+ ```html
113
+ <em-stepper :value="value" disabled />
114
+ ```
115
+
116
+ ::: endif
117
+
118
+ ::: ifdef M84
119
+
120
+ ```html
121
+ <em-stepper :model-value="value" disabled />
122
+ ```
123
+
124
+ ::: endif
125
+
126
+ #### 禁用输入框
127
+
128
+ 通过设置`disable-input`属性来禁用输入框,此时按钮仍然可以点击
129
+
130
+ ::: ifdef M83
131
+
132
+ ```html
133
+ <em-stepper :value="value" disable-input />
134
+ ```
135
+
136
+ ::: endif
137
+
138
+ ::: ifdef M84
139
+
140
+ ```html
141
+ <em-stepper :model-value="value" disable-input />
142
+ ```
143
+
144
+ ::: endif
145
+
146
+ #### 固定小数位数
147
+
148
+ 通过设置`decimal-length`属性可以保留固定的小数位数
149
+
150
+ ::: ifdef M83
151
+
152
+ ```html
153
+ <em-stepper :value="value" step="0.2" :decimal-length="1" />
154
+ ```
155
+
156
+ ::: endif
157
+
158
+ ::: ifdef M84
159
+
160
+ ```html
161
+ <em-stepper :model-value="value" step="0.2" :decimal-length="1" />
162
+ ```
163
+
164
+ ::: endif
165
+
166
+ #### 自定义大小
167
+
168
+ 通过`input-width`属性设置输入框宽度,通过`button-size`属性设置按钮大小和输入框高度
169
+
170
+ ::: ifdef M83
171
+
172
+ ```html
173
+ <em-stepper :value="value" input-width="40px" button-size="32px" />
174
+ ```
175
+
176
+ ::: endif
177
+
178
+ ::: ifdef M84
179
+
180
+ ```html
181
+ <em-stepper :model-value="value" input-width="40px" button-size="32px" />
182
+ ```
183
+
184
+ ::: endif
185
+
186
+ #### 异步变更
187
+
188
+ 如果需要异步地修改输入框的值,可以设置`async-change`属性,并在`change`事件中手动修改`value`
189
+
190
+ ::: ifdef M83
191
+
192
+ ```html
193
+ <em-stepper :value="value" async-change @change="onChange" />
194
+ <em-toast ref="emToast"></em-toast>
195
+ ```
196
+
197
+ ```js
198
+ export default {
199
+ data() {
200
+ return {
201
+ value: 1
202
+ };
203
+ },
204
+ methods: {
205
+ onChange(target, value) {
206
+ Toast.loading({
207
+ forbidClick: true
208
+ });
209
+ setTimeout(() => {
210
+ Toast.clear();
211
+ this[target] = value;
212
+ }, 500);
213
+ }
214
+ }
215
+ };
216
+ ```
217
+
218
+ ::: endif
219
+
220
+ ::: ifdef M84
221
+
222
+ ```html
223
+ <em-stepper :model-value="value" async-change @change="onChange" />
224
+ <em-toast ref="emToastRef"></em-toast>
225
+ ```
226
+
227
+ ```js
228
+ import { ref } from 'vue';
229
+
230
+ const value = ref(1);
231
+
232
+ function onChange(value) {
233
+ Toast.loading({
234
+ forbidClick: true
235
+ });
236
+ setTimeout(() => {
237
+ Toast.clear();
238
+ value.value = value;
239
+ }, 500);
240
+ }
241
+
242
+ const emToastRef = ref(null);
243
+
244
+ defineExpose({
245
+ emToastRef
246
+ });
247
+ ```
248
+
249
+ ::: endif
250
+
251
+ #### 圆角风格
252
+
253
+ 将 `theme` 设置为 `round` 来展示圆角风格的步进器
254
+
255
+ ::: ifdef M83
256
+
257
+ ```html
258
+ <em-stepper :value="value" theme="round" button-size="22" disable-input />
259
+ ```
260
+
261
+ ::: endif
262
+
263
+ ::: ifdef M84
264
+
265
+ ```html
266
+ <em-stepper :model-value="value" theme="round" button-size="22" disable-input />
267
+ ```
268
+
269
+ ::: endif
270
+
271
+ ### API
272
+
273
+ #### Props
274
+
275
+ | 参数 | 说明 | 类型 | 默认值 |
276
+ | :--------------------------------------------------------------------------- | :----------------------------------------: | :-------------- | :------ |
277
+ | v-model ::: ifdef M83 (value) ::: endif ::: ifdef M84 (modelValue) ::: endif | 当前输入的值 | number / string | - |
278
+ | min | 最小值 | number / string | `1` |
279
+ | max | 最大值 | number / string | - |
280
+ | default-value | 初始值 | number / string | `1` |
281
+ | step | 步长,每次点击时改变的值 | number / string | `1` |
282
+ | name | 标识符,可以在`change`事件回调参数中获取 | number / string | - |
283
+ | input-width | 输入框宽度,默认单位为`px` | number / string | `32px` |
284
+ | button-size | 按钮大小以及输入框高度,默认单位为`px` | number / string | `28px` |
285
+ | decimal-length | 固定显示的小数位数 | number / string | - |
286
+ | theme | 样式风格,可选值为 `round` | string | - |
287
+ | placeholder | 输入框占位提示文字 | string | - |
288
+ | integer | 是否只允许输入整数 | boolean | `false` |
289
+ | disabled | 是否禁用步进器 | boolean | `false` |
290
+ | disable-plus | 是否禁用增加按钮 | boolean | `false` |
291
+ | disable-minus | 是否禁用减少按钮 | boolean | `false` |
292
+ | disable-input | 是否禁用输入框 | boolean | `false` |
293
+ | async-change | 是否开启异步变更,开启后需要手动控制输入值 | boolean | `false` |
294
+ | show-plus | 是否显示增加按钮 | boolean | `true` |
295
+ | show-minus | 是否显示减少按钮 | boolean | `true` |
296
+ | show-input | 是否显示输入框 | boolean | `true` |
297
+ | long-press | 是否开启长按手势 | boolean | `true` |
298
+ | allow-empty | 是否允许输入的值为空 | boolean | `false` |
299
+
300
+ #### Events
301
+
302
+ | 事件名 | 说明 | 回调参数 |
303
+ | :-------- | :----------------------: | :-------------------------------------- |
304
+ | change | 当绑定值变化时触发的事件 | value: string, detail: { name: string } |
305
+ | overlimit | 点击不可用的按钮时触发 | - |
306
+ | plus | 点击增加按钮时触发 | - |
307
+ | minus | 点击减少按钮时触发 | - |
308
+ | focus | 输入框聚焦时触发 | event: Event |
309
+ | blur | 输入框失焦时触发 | event: Event |
310
+
311
+ ::: ifdef M83
312
+ <iframe
313
+ src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-stepper"
314
+ frameborder=0
315
+ allowfullscreen class="ui-showcase-iframe">
316
+ </iframe>
317
+ ::: endif
318
+ ::: ifdef M84
319
+ <iframe
320
+ src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-stepper"
321
+ frameborder=0
322
+ allowfullscreen class="ui-showcase-iframe">
323
+ </iframe>
324
+ ::: endif
325
+
326
+ <style>
327
+ .ui-showcase-iframe {
328
+ position: fixed;
329
+ right: 3.5vw;
330
+ top: 17%;
331
+ width: 375px;
332
+ height: 75vh;
333
+ box-shadow: 0 0 12px 6px #eee;
334
+ border-radius: 15px;
335
+ }
336
+ .main .markdown-body {
337
+ padding: 45px;
338
+ width: calc(97vw - 661px);
339
+ }
340
+ </style>
@@ -0,0 +1,265 @@
1
+ # 组件使用
2
+
3
+ ## swipecell 滑动单元格
4
+
5
+ ### 介绍
6
+
7
+ - 滑动单元格组件。
8
+
9
+ ### 代码演示
10
+
11
+ #### 基础用法
12
+
13
+ `SwipeCell`组件提供了`left`和`right`两个插槽,用于定义两侧滑动区域的内容。
14
+
15
+ ```html
16
+ <em-swipe-cell>
17
+ <template #left>
18
+ <em-button type="primary" square>选择</em-button>
19
+ </template>
20
+ <em-cell title="单元格" value="内容" :border="false"></em-cell>
21
+ <template #right>
22
+ <em-button type="danger" square>删除</em-button>
23
+ <em-button type="primary" square>收藏</em-button>
24
+ </template>
25
+ </em-swipe-cell>
26
+ ```
27
+
28
+ #### 自定义内容
29
+
30
+ SwipeCell 内容可以嵌套任意内容,比如嵌套一个 Image
31
+
32
+ ```html
33
+ <em-swipe-cell>
34
+ <em-image width="100" height="100" src="https://img.yzcdn.cn/vant/cat.jpeg" />
35
+ <template #right>
36
+ <em-button type="danger" square>关闭</em-button>
37
+ </template>
38
+ </em-swipe-cell>
39
+ ```
40
+
41
+ #### 异步关闭
42
+
43
+ 通过传入`before-close`回调函数,可以自定义两侧滑动内容关闭时的行为
44
+
45
+ ::: ifdef M83
46
+
47
+ ```html
48
+ <em-swipe-cell
49
+ left-width="100"
50
+ right-width="200"
51
+ :before-close="beforeClose"
52
+ ref="swipecell"
53
+ @open="onOpen"
54
+ @close="onClose"
55
+ @click="onClick"
56
+ >
57
+ <template #left>
58
+ <em-button type="primary" square>选择</em-button>
59
+ </template>
60
+ <em-cell title="单元格" value="内容" :border="false"></em-cell>
61
+ <template #right>
62
+ <em-button type="danger" square>异步关闭</em-button>
63
+ </template>
64
+ </em-swipe-cell>
65
+ <em-button type="primary" square @click="openLeft">打开左侧</em-button>
66
+ <em-toast ref="emToast"></em-toast>
67
+ ```
68
+
69
+ ```js
70
+ export default {
71
+ methods: {
72
+ // position 为关闭时点击的位置
73
+ // instance 为对应的 SwipeCell 实例
74
+ beforeClose({ position, instance }) {
75
+ switch (position) {
76
+ case 'left':
77
+ case 'cell':
78
+ instance.close();
79
+ break;
80
+ case 'right':
81
+ setTimeout(() => {
82
+ instance.close();
83
+ }, 2000);
84
+ break;
85
+ default:
86
+ break;
87
+ }
88
+ },
89
+ openLeft() {
90
+ this.$refs.swipecell.open('left');
91
+ },
92
+ onOpen(e) {
93
+ Toast({
94
+ message: `触发open事件:${JSON.stringify(e)}`
95
+ });
96
+ },
97
+ onClose(e) {
98
+ Toast({
99
+ message: `触发close事件:${JSON.stringify(e)}`
100
+ });
101
+ },
102
+ onClick(e) {
103
+ Toast({
104
+ message: `触发click事件:${JSON.stringify(e)}`
105
+ });
106
+ }
107
+ }
108
+ };
109
+ ```
110
+
111
+ ::: endif
112
+ ::: ifdef M84
113
+
114
+ ```html
115
+ <em-swipe-cell
116
+ left-width="100"
117
+ right-width="200"
118
+ :before-close="beforeClose"
119
+ ref="swipecell"
120
+ @open="onOpen"
121
+ @close="onClose"
122
+ @click="onClick"
123
+ >
124
+ <template #left>
125
+ <em-button type="primary" square>选择</em-button>
126
+ </template>
127
+ <em-cell title="单元格" value="内容" :border="false"></em-cell>
128
+ <template #right>
129
+ <em-button type="danger" square>异步关闭</em-button>
130
+ </template>
131
+ </em-swipe-cell>
132
+ <em-button type="primary" square @click="openLeft">打开左侧</em-button>
133
+ <em-toast ref="emToastRef"></em-toast>
134
+ ```
135
+
136
+ ```js
137
+ import { ref } from 'vue';
138
+ const swipecell = ref(null);
139
+
140
+ const beforeClose = ({ position, instance }) => {
141
+ switch (position) {
142
+ case 'left':
143
+ case 'cell':
144
+ instance.close();
145
+ break;
146
+ case 'right':
147
+ setTimeout(() => {
148
+ instance.close();
149
+ }, 2000);
150
+ break;
151
+ default:
152
+ break;
153
+ }
154
+ };
155
+
156
+ const openLeft = () => {
157
+ swipecell.value.open('left');
158
+ };
159
+
160
+ const onOpen = (e) => {
161
+ Toast({
162
+ message: `触发open事件:${JSON.stringify(e)}`
163
+ });
164
+ };
165
+
166
+ const onClose = (e) => {
167
+ Toast({
168
+ message: `触发close事件:${JSON.stringify(e)}`
169
+ });
170
+ };
171
+
172
+ const onClick = (e) => {
173
+ Toast({
174
+ message: `触发click事件:${JSON.stringify(e)}`
175
+ });
176
+ };
177
+
178
+ const emToastRef = ref(null);
179
+
180
+ defineExpose({
181
+ emToastRef
182
+ });
183
+ ```
184
+
185
+ ::: endif
186
+
187
+ ### API
188
+
189
+ #### Props
190
+
191
+ | 参数 | 说明 | 类型 | 默认值 |
192
+ | :--------------- | :------------------------------: | :-------------- | :------ |
193
+ | name | 标识符,可以在事件参数中获取到 | number / string | - |
194
+ | left-width | 指定左侧滑动区域宽度,单位为`px` | number / string | `auto` |
195
+ | right-width | 指定右侧滑动区域宽度,单位为`px` | number / string | `auto` |
196
+ | before-close | 关闭前的回调函数 | Function | - |
197
+ | disabled | 是否禁用滑动 | boolean | `false` |
198
+ | stop-propagation | 是否阻止滑动事件冒泡 | boolean | `false` |
199
+ | threshold | 滑动缺省距离 | Number | `20px` |
200
+
201
+ #### Slots
202
+
203
+ | 名称 | 说明 |
204
+ | :------ | :------------: |
205
+ | default | 自定义显示内容 |
206
+ | left | 左侧滑动内容 |
207
+ | right | 右侧滑动内容 |
208
+
209
+ #### Events
210
+
211
+ | 事件名 | 说明 | 回调参数 |
212
+ | :----- | :--------: | :-------------------------------------------- |
213
+ | click | 点击时触发 | 关闭时的点击位置 (left right cell) |
214
+ | open | 打开时触发 | { position: 'left' / 'right' , name: string } |
215
+ | close | 关闭时触发 | { position: string , name: string } |
216
+
217
+ #### beforeClose 参数
218
+
219
+ `beforeClose` 的第一个参数为对象,对象中包含以下属性:
220
+
221
+ | 参数名 | 说明 | 类型 |
222
+ | :------- | :--------------------------------------: | :---------- |
223
+ | name | 标识符 | string |
224
+ | position | 关闭时的点击位置 (`left` `right` `cell`) | string |
225
+ | instance | `SwipeCell` 实例,用于调用实例方法 | `SwipeCell` |
226
+
227
+ #### 方法
228
+
229
+ 通过 `ref` 可以获取到 `SwipeCell` 实例并调用实例方法,详见组件实例方法
230
+
231
+ | 方法名 | 说明 | 参数 | 返回值 |
232
+ | :----- | :--------------: | :--------------------- | :----- |
233
+ | open | 打开单元格侧边栏 | position: left / right | - |
234
+ | close | 收起单元格侧边栏 | - | - |
235
+
236
+ ::: ifdef M83
237
+ <iframe
238
+ src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-swipe-cell"
239
+ frameborder=0
240
+ allowfullscreen class="ui-showcase-iframe">
241
+ </iframe>
242
+ ::: endif
243
+ ::: ifdef M84
244
+ <iframe
245
+ src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-swipe-cell"
246
+ frameborder=0
247
+ allowfullscreen class="ui-showcase-iframe">
248
+ </iframe>
249
+ ::: endif
250
+
251
+ <style>
252
+ .ui-showcase-iframe {
253
+ position: fixed;
254
+ right: 3.5vw;
255
+ top: 17%;
256
+ width: 375px;
257
+ height: 75vh;
258
+ box-shadow: 0 0 12px 6px #eee;
259
+ border-radius: 15px;
260
+ }
261
+ .main .markdown-body {
262
+ padding: 45px;
263
+ width: calc(97vw - 661px);
264
+ }
265
+ </style>