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,849 @@
1
+ # 组件使用
2
+
3
+ ## Table 表格
4
+
5
+ ### 介绍
6
+
7
+ - 表格组件
8
+
9
+ ::: ifdef M83
10
+
11
+ - 该组件自`v8.3.23-beta.3`版本开始支持
12
+
13
+ ::: endif
14
+
15
+ ::: ifdef M84
16
+
17
+ - 该组件自`v8.4.1-beta.1`版本开始支持
18
+
19
+ ::: endif
20
+
21
+ ### 代码演示
22
+
23
+ #### 基础用法
24
+
25
+ 通过 `table` 组件 `data` 属性设置表格数据。
26
+
27
+ 通过 `table-col` 组件 `prop` 设置列数据源字段,`label` 属性设置列标题。
28
+
29
+ ```html
30
+ <em-table :data="origin" :height="400" align="center">
31
+ <em-table-col prop="name" label="姓名" width="50%"></em-table-col>
32
+ <em-table-col prop="score" label="分数" width="50%"></em-table-col>
33
+ </em-table>
34
+ ```
35
+
36
+ ::: ifdef M83
37
+
38
+ ```js
39
+ export default {
40
+ data() {
41
+ return {
42
+ origin: [
43
+ {
44
+ name: '赵云',
45
+ score: 87
46
+ },
47
+ {
48
+ name: '孔明',
49
+ score: 100
50
+ },
51
+ {
52
+ name: '刘备',
53
+ score: 90
54
+ },
55
+ ...
56
+ ]
57
+ };
58
+ }
59
+ };
60
+ ```
61
+
62
+ ::: endif
63
+ ::: ifdef M84
64
+
65
+ ```js
66
+ import { ref } from 'vue';
67
+ // 使用 ref 创建响应式数据
68
+ const origin = ref([
69
+ {
70
+ name: '赵云',
71
+ score: 87
72
+ },
73
+ {
74
+ name: '孔明',
75
+ score: 100
76
+ },
77
+ {
78
+ name: '刘备',
79
+ score: 90
80
+ },
81
+ ...
82
+ ]);
83
+ ```
84
+
85
+ ::: endif
86
+
87
+ #### 有边框
88
+
89
+ 通过 `table` 组件 `border` 属性设置表格边框。
90
+
91
+ ```html
92
+ <em-table :data="origin" :height="400" align="center" border>
93
+ <em-table-col prop="name" label="姓名" width="50%"></em-table-col>
94
+ <em-table-col prop="score" label="分数" width="50%"></em-table-col>
95
+ </em-table>
96
+ ```
97
+
98
+ ::: ifdef M83
99
+
100
+ ```js
101
+ export default {
102
+ data() {
103
+ return {
104
+ origin: [
105
+ {
106
+ name: '赵云',
107
+ score: 87
108
+ },
109
+ {
110
+ name: '孔明',
111
+ score: 100
112
+ },
113
+ {
114
+ name: '刘备',
115
+ score: 90
116
+ },
117
+ ...
118
+ ]
119
+ };
120
+ }
121
+ };
122
+ ```
123
+
124
+ ::: endif
125
+ ::: ifdef M84
126
+
127
+ ```js
128
+ import { ref } from 'vue';
129
+ // 使用 ref 创建响应式数据
130
+ const origin = ref([
131
+ {
132
+ name: '赵云',
133
+ score: 87
134
+ },
135
+ {
136
+ name: '孔明',
137
+ score: 100
138
+ },
139
+ {
140
+ name: '刘备',
141
+ score: 90
142
+ },
143
+ ...
144
+ ]);
145
+ ```
146
+
147
+ ::: endif
148
+
149
+ #### 无斑马纹
150
+
151
+ 通过设置 `table` 组件 `stripe` 为 `false` 取消斑马纹。
152
+
153
+ ```html
154
+ <em-table :data="origin" :height="400" align="center" border :stripe="false">
155
+ <em-table-col prop="name" label="姓名" width="50%"></em-table-col>
156
+ <em-table-col prop="score" label="分数" width="50%"></em-table-col>
157
+ </em-table>
158
+ ```
159
+
160
+ ::: ifdef M83
161
+
162
+ ```js
163
+ export default {
164
+ data() {
165
+ return {
166
+ origin: [
167
+ {
168
+ name: '赵云',
169
+ score: 87
170
+ },
171
+ {
172
+ name: '孔明',
173
+ score: 100
174
+ },
175
+ {
176
+ name: '刘备',
177
+ score: 90
178
+ },
179
+ ...
180
+ ]
181
+ };
182
+ }
183
+ };
184
+ ```
185
+
186
+ ::: endif
187
+ ::: ifdef M84
188
+
189
+ ```js
190
+ import { ref } from 'vue';
191
+ // 使用 ref 创建响应式数据
192
+ const origin = ref([
193
+ {
194
+ name: '赵云',
195
+ score: 87
196
+ },
197
+ {
198
+ name: '孔明',
199
+ score: 100
200
+ },
201
+ {
202
+ name: '刘备',
203
+ score: 90
204
+ },
205
+ ...
206
+ ]);
207
+ ```
208
+
209
+ ::: endif
210
+
211
+ #### 不展示表头
212
+
213
+ 通过设置 `table` 组件 `showHeader` 为 `false` 隐藏表头。
214
+
215
+ ```html
216
+ <em-table :data="origin" :height="400" align="center" :showHeader="false">
217
+ <em-table-col prop="name" label="姓名" width="50%"></em-table-col>
218
+ <em-table-col prop="score" label="分数" width="50%"></em-table-col>
219
+ </em-table>
220
+ ```
221
+
222
+ ::: ifdef M83
223
+
224
+ ```js
225
+ export default {
226
+ data() {
227
+ return {
228
+ origin: [
229
+ {
230
+ name: '赵云',
231
+ score: 87
232
+ },
233
+ {
234
+ name: '孔明',
235
+ score: 100
236
+ },
237
+ {
238
+ name: '刘备',
239
+ score: 90
240
+ },
241
+ ...
242
+ ]
243
+ };
244
+ }
245
+ };
246
+ ```
247
+
248
+ ::: endif
249
+ ::: ifdef M84
250
+
251
+ ```js
252
+ import { ref } from 'vue';
253
+ // 使用 ref 创建响应式数据
254
+ const origin = ref([
255
+ {
256
+ name: '赵云',
257
+ score: 87
258
+ },
259
+ {
260
+ name: '孔明',
261
+ score: 100
262
+ },
263
+ {
264
+ name: '刘备',
265
+ score: 90
266
+ },
267
+ ...
268
+ ]);
269
+ ```
270
+
271
+ ::: endif
272
+
273
+ #### 固定列
274
+
275
+ 通过设置 `table-col` 组件 `fixed` 为 `true`,在横向滚动时固定对应列。
276
+
277
+ ```html
278
+ <em-table :data="origin" :height="400" align="center">
279
+ <em-table-col prop="name" label="姓名" fixed></em-table-col>
280
+ <em-table-col prop="score" label="分数" fixed></em-table-col>
281
+ <em-table-col prop="school" label="求学之所"></em-table-col>
282
+ <em-table-col prop="major" label="专业" width="150"></em-table-col>
283
+ <em-table-col prop="grade" label="年级"></em-table-col>
284
+ </em-table>
285
+ ```
286
+
287
+ ::: ifdef M83
288
+
289
+ ```js
290
+ export default {
291
+ data() {
292
+ return {
293
+ origin: [
294
+ {
295
+ name: '赵云',
296
+ score: 87,
297
+ school: '河南理工大学',
298
+ major: '计算机科学与技术',
299
+ grade: '2015级'
300
+ },
301
+ {
302
+ name: '孔明',
303
+ score: 100,
304
+ school: '河南理工大学',
305
+ major: '计算机科学与技术',
306
+ grade: '2015级'
307
+ },
308
+ {
309
+ name: '刘备',
310
+ score: 90,
311
+ school: '河南理工大学',
312
+ major: '计算机科学与技术',
313
+ grade: '2015级'
314
+ },
315
+ ...
316
+ ]
317
+ };
318
+ }
319
+ };
320
+ ```
321
+
322
+ ::: endif
323
+ ::: ifdef M84
324
+
325
+ ```js
326
+ import { ref } from 'vue';
327
+ // 使用 ref 创建响应式数据
328
+ const origin = ref([
329
+ {
330
+ name: '赵云',
331
+ score: 87,
332
+ school: '河南理工大学',
333
+ major: '计算机科学与技术',
334
+ grade: '2015级'
335
+ },
336
+ {
337
+ name: '孔明',
338
+ score: 100,
339
+ school: '河南理工大学',
340
+ major: '计算机科学与技术',
341
+ grade: '2015级'
342
+ },
343
+ {
344
+ name: '刘备',
345
+ score: 90,
346
+ school: '河南理工大学',
347
+ major: '计算机科学与技术',
348
+ grade: '2015级'
349
+ },
350
+ ...
351
+ ]);
352
+ ```
353
+
354
+ ::: endif
355
+
356
+ #### 显示索引
357
+
358
+ 通过设置 `table` 组件 `index` 为 `true`,展示索引列。
359
+
360
+ `index` 也可传入一个对象来对索引列进行配置,该对象可配置参数参考 `table-col` 组件的 `props`。
361
+
362
+ ```html
363
+ <em-table :data="origin" :height="400" align="center" :index="{ align: 'center', width: 40 }">
364
+ <em-table-col prop="name" label="姓名"></em-table-col>
365
+ <em-table-col prop="score" label="分数"></em-table-col>
366
+ <em-table-col prop="school" label="求学之所"></em-table-col>
367
+ <em-table-col prop="major" label="专业" width="150"></em-table-col>
368
+ <em-table-col prop="grade" label="年级"></em-table-col>
369
+ </em-table>
370
+ ```
371
+
372
+ ::: ifdef M83
373
+
374
+ ```js
375
+ export default {
376
+ data() {
377
+ return {
378
+ origin: [
379
+ {
380
+ name: '赵云',
381
+ score: 87,
382
+ school: '河南理工大学',
383
+ major: '计算机科学与技术',
384
+ grade: '2015级'
385
+ },
386
+ {
387
+ name: '孔明',
388
+ score: 100,
389
+ school: '河南理工大学',
390
+ major: '计算机科学与技术',
391
+ grade: '2015级'
392
+ },
393
+ {
394
+ name: '刘备',
395
+ score: 90,
396
+ school: '河南理工大学',
397
+ major: '计算机科学与技术',
398
+ grade: '2015级'
399
+ },
400
+ ...
401
+ ]
402
+ };
403
+ }
404
+ };
405
+ ```
406
+
407
+ ::: endif
408
+ ::: ifdef M84
409
+
410
+ ```js
411
+ import { ref } from 'vue';
412
+ // 使用 ref 创建响应式数据
413
+ const origin = ref([
414
+ {
415
+ name: '赵云',
416
+ score: 87,
417
+ school: '河南理工大学',
418
+ major: '计算机科学与技术',
419
+ grade: '2015级'
420
+ },
421
+ {
422
+ name: '孔明',
423
+ score: 100,
424
+ school: '河南理工大学',
425
+ major: '计算机科学与技术',
426
+ grade: '2015级'
427
+ },
428
+ {
429
+ name: '刘备',
430
+ score: 90,
431
+ school: '河南理工大学',
432
+ major: '计算机科学与技术',
433
+ grade: '2015级'
434
+ },
435
+ ...
436
+ ]);
437
+ ```
438
+
439
+ ::: endif
440
+
441
+ #### 排序事件
442
+
443
+ 通过设置 `table-col` 组件 `sortable` 为 `true`,开启该列排序功能。
444
+
445
+ 通过监听 `table` 组件 `sort` 事件,获取对应列排序信息及配置信息(参考`table-col`的 `props`),进行数据排序。
446
+
447
+ ```html
448
+ <em-table :data="dataList" :height="400" align="center" @sort="handleSort">
449
+ <em-table-col prop="name" label="姓名" sortable></em-table-col>
450
+ <em-table-col prop="score" label="分数" sortable></em-table-col>
451
+ <em-table-col prop="school" label="求学之所"></em-table-col>
452
+ <em-table-col prop="major" label="专业" width="150"></em-table-col>
453
+ <em-table-col prop="grade" label="年级"></em-table-col>
454
+ </em-table>
455
+ ```
456
+
457
+ ::: ifdef M83
458
+
459
+ ```js
460
+ export default {
461
+ data() {
462
+ return {
463
+ dataList: [],
464
+ origin: [
465
+ {
466
+ name: '赵云',
467
+ score: 87,
468
+ school: '河南理工大学',
469
+ major: '计算机科学与技术',
470
+ grade: '2015级'
471
+ },
472
+ {
473
+ name: '孔明',
474
+ score: 100,
475
+ school: '河南理工大学',
476
+ major: '计算机科学与技术',
477
+ grade: '2015级'
478
+ },
479
+ {
480
+ name: '刘备',
481
+ score: 90,
482
+ school: '河南理工大学',
483
+ major: '计算机科学与技术',
484
+ grade: '2015级'
485
+ },
486
+ ...
487
+ ]
488
+ };
489
+ },
490
+ created() {
491
+ this.dataList = this.origin.slice(0);
492
+ },
493
+ methods: {
494
+ handleSort(e) {
495
+ // e.sortDirection === 0, 未排序
496
+ // e.sortDirection === -1,升序, 箭头向下
497
+ // e.sortDirection === 1,降序, 箭头向上
498
+ const getSortFn = (prop, sortDirection) => {
499
+ if (prop === 'name') {
500
+ return (a, b) => b.name.localeCompare(a.name) * sortDirection;
501
+ } else if (prop === 'score') {
502
+ return (a, b) => (b.score - a.score) * sortDirection;
503
+ }
504
+ };
505
+ this.dataList = this.origin.slice(0);
506
+ this.dataList.sort(getSortFn(e.prop, e.sortDirection));
507
+ }
508
+ }
509
+ };
510
+ ```
511
+
512
+ ::: endif
513
+ ::: ifdef M84
514
+
515
+ ```js
516
+ import { ref } from 'vue';
517
+ // 使用 ref 创建响应式数据
518
+ const dataList = ref([]);
519
+ const origin = ref([
520
+ {
521
+ name: '赵云',
522
+ score: 87,
523
+ school: '河南理工大学',
524
+ major: '计算机科学与技术',
525
+ grade: '2015级'
526
+ },
527
+ {
528
+ name: '孔明',
529
+ score: 100,
530
+ school: '河南理工大学',
531
+ major: '计算机科学与技术',
532
+ grade: '2015级'
533
+ },
534
+ {
535
+ name: '刘备',
536
+ score: 90,
537
+ school: '河南理工大学',
538
+ major: '计算机科学与技术',
539
+ grade: '2015级'
540
+ },
541
+ ...
542
+ ]);
543
+
544
+ dataList.value = origin.value.slice(0);
545
+
546
+ const handleSort = (e) => {
547
+ // e.sortDirection === 0, 未排序
548
+ // e.sortDirection === -1,升序, 箭头向下
549
+ // e.sortDirection === 1,降序, 箭头向上
550
+ const getSortFn = (prop, sortDirection) => {
551
+ if (prop === 'name') {
552
+ return (a, b) => b.name.localeCompare(a.name) * sortDirection;
553
+ } else if (prop === 'score') {
554
+ return (a, b) => (b.score - a.score) * sortDirection;
555
+ }
556
+ };
557
+ dataList.value = origin.value.slice(0);
558
+ dataList.value.sort(getSortFn(e.prop, e.sortDirection));
559
+ };
560
+ ```
561
+
562
+ ::: endif
563
+
564
+ #### 自定义列模板
565
+
566
+ 通过 `table-col` 组件的 `value` 插槽,可以自定义该列每项内容。
567
+
568
+ 通过 `Scoped slot` 可以获取到 `row`(该项数据)、 `index` 的数据
569
+
570
+ ```html
571
+ <em-table :data="origin" :height="400" align="center">
572
+ <em-table-col prop="name" label="姓名"></em-table-col>
573
+ <em-table-col prop="score" label="分数">
574
+ <template #value="{ row }">
575
+ <view class="score-wrapper">
576
+ <view class="score">{{ row.score }}</view>
577
+ <view>
578
+ 同比
579
+ <text class="compare">{{ row.compare }}</text>
580
+ </view>
581
+ </view>
582
+ </template>
583
+ </em-table-col>
584
+ <em-table-col prop="school" label="求学之所"></em-table-col>
585
+ <em-table-col prop="major" label="专业" width="150"></em-table-col>
586
+ <em-table-col prop="grade" label="年级"></em-table-col>
587
+ </em-table>
588
+ ```
589
+
590
+ ::: ifdef M83
591
+
592
+ ```js
593
+ export default {
594
+ data() {
595
+ return {
596
+ origin: [
597
+ {
598
+ name: '赵云',
599
+ score: 87,
600
+ school: '河南理工大学',
601
+ major: '计算机科学与技术',
602
+ grade: '2015级',
603
+ compare: '1.2%'
604
+ },
605
+ {
606
+ name: '孔明',
607
+ score: 100,
608
+ school: '河南理工大学',
609
+ major: '计算机科学与技术',
610
+ grade: '2015级',
611
+ compare: '1.2%'
612
+ },
613
+ {
614
+ name: '刘备',
615
+ score: 90,
616
+ school: '河南理工大学',
617
+ major: '计算机科学与技术',
618
+ compare: '1.2%',
619
+ grade: '2015级'
620
+ },
621
+ ...
622
+ ]
623
+ };
624
+ }
625
+ };
626
+ ```
627
+
628
+ ::: endif
629
+ ::: ifdef M84
630
+
631
+ ```js
632
+ import { ref } from 'vue';
633
+ // 使用 ref 创建响应式数据
634
+ const origin = ref([
635
+ {
636
+ name: '赵云',
637
+ score: 87,
638
+ school: '河南理工大学',
639
+ major: '计算机科学与技术',
640
+ grade: '2015级',
641
+ compare: '1.2%'
642
+ },
643
+ {
644
+ name: '孔明',
645
+ score: 100,
646
+ school: '河南理工大学',
647
+ major: '计算机科学与技术',
648
+ grade: '2015级',
649
+ compare: '1.2%'
650
+ },
651
+ {
652
+ name: '刘备',
653
+ score: 90,
654
+ school: '河南理工大学',
655
+ major: '计算机科学与技术',
656
+ compare: '1.2%',
657
+ grade: '2015级'
658
+ },
659
+ ...
660
+ ]);
661
+ ```
662
+
663
+ ::: endif
664
+
665
+ #### 不固定表头结合分页器使用
666
+
667
+ ```html
668
+ <em-table :data="dataList" align="center" :fixed-header="false">
669
+ <em-table-col prop="name" label="姓名" fixed></em-table-col>
670
+ <em-table-col prop="score" label="分数" fixed></em-table-col>
671
+ <em-table-col prop="school" label="求学之所"></em-table-col>
672
+ <em-table-col prop="major" label="专业" width="150"></em-table-col>
673
+ <em-table-col prop="grade" label="年级"></em-table-col>
674
+ </em-table>
675
+ <em-pagination
676
+ v-model="currentPage"
677
+ :items-per-page="perPageSize"
678
+ mode="simple"
679
+ :total-items="origin.length"
680
+ ></em-pagination>
681
+ ```
682
+
683
+ ::: ifdef M83
684
+
685
+ ```js
686
+ export default {
687
+ data() {
688
+ return {
689
+ currentPage: 1,
690
+ perPageSize: 5,
691
+ origin: [
692
+ {
693
+ name: '赵云',
694
+ score: 87,
695
+ school: '河南理工大学',
696
+ major: '计算机科学与技术',
697
+ grade: '2015级',
698
+ compare: '1.2%'
699
+ },
700
+ {
701
+ name: '孔明',
702
+ score: 100,
703
+ school: '河南理工大学',
704
+ major: '计算机科学与技术',
705
+ grade: '2015级',
706
+ compare: '1.2%'
707
+ },
708
+ {
709
+ name: '刘备',
710
+ score: 90,
711
+ school: '河南理工大学',
712
+ major: '计算机科学与技术',
713
+ compare: '1.2%',
714
+ grade: '2015级'
715
+ },
716
+ ...
717
+ ]
718
+ };
719
+ },
720
+ computed: {
721
+ dataList(){
722
+ return this.origin.slice((this.currentPage - 1) * this.perPageSize, this.currentPage * this.perPageSize);
723
+ }
724
+ }
725
+ };
726
+ ```
727
+
728
+ ::: endif
729
+ ::: ifdef M84
730
+
731
+ ```js
732
+ import { ref, computed } from 'vue';
733
+ // 使用 ref 创建响应式数据
734
+ const currentPage = ref(1);
735
+ const perPageSize = ref(5);
736
+ const origin = ref([
737
+ {
738
+ name: '赵云',
739
+ score: 87,
740
+ school: '河南理工大学',
741
+ major: '计算机科学与技术',
742
+ grade: '2015级',
743
+ compare: '1.2%'
744
+ },
745
+ {
746
+ name: '孔明',
747
+ score: 100,
748
+ school: '河南理工大学',
749
+ major: '计算机科学与技术',
750
+ grade: '2015级',
751
+ compare: '1.2%'
752
+ },
753
+ {
754
+ name: '刘备',
755
+ score: 90,
756
+ school: '河南理工大学',
757
+ major: '计算机科学与技术',
758
+ compare: '1.2%',
759
+ grade: '2015级'
760
+ },
761
+ ...
762
+ ]);
763
+
764
+ const dataList = computed(() => origin.value.slice((currentPage.value - 1) * perPageSize.value, currentPage.value * perPageSize.value));
765
+ ```
766
+
767
+ ::: endif
768
+
769
+ ### API
770
+
771
+ #### Table Props
772
+
773
+ | 参数 | 说明 | 类型 | 默认值 |
774
+ | :----------- | :-----------------------------------------------------------------------------: | :-------------- | :------ |
775
+ | data | 表格数据源 | array | `-` |
776
+ | border | 是否带有边框 | boolean | `false` |
777
+ | stripe | 是否为斑马纹表 | boolean | `true` |
778
+ | height | Table 的高度,无默认值,设置后自动开启固定表头,默认单位 px | number / string | `-` |
779
+ | rowHeight | 行高,默认单位 px | number / string | `50` |
780
+ | showHeader | 是否显示表头 | boolean | `true` |
781
+ | ellipsis | 文字较长时是否超出 2 行隐藏 | boolean | `true` |
782
+ | index | 是否显示索引列,可传入 boolean 也可传入列配置,参数参考 `table-col`组件的 props | boolean / | `false` |
783
+ | fixed-header | 是否固定表头,需要结合 height 才可以实现固定表头的效果。 | boolean | `true` |
784
+ | clickable | 是否开启点击反馈 | boolean | `false` |
785
+ | align | 表格所有列对齐方式,可选值:`left`、`center`、`right` | string | `left` |
786
+
787
+ #### Table Events
788
+
789
+ | 事件名 | 说明 | 回调参数 |
790
+ | :-------- | :------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------- |
791
+ | sort | 点击排序时触发,当表格列 sortable 设置为 true 的时候有效 | e: { sortDirection: number (0--未排序, -1--箭头向下, 1--箭头向上), ...`TableColumn`(参考 `table-col`组件的 props)} |
792
+ | row-click | 当某一行被点击时会触发该事件 | e: { rowIndex: number(点击行的下标)} |
793
+
794
+ #### Table 方法
795
+
796
+ 通过 ref 可以获取到 Table 实例并调用实例方法,详见组件实例方法
797
+
798
+ | 方法名 | 说明 | 参数 | 返回值 |
799
+ | :---------------------- | :----------- | :--- | :----- |
800
+ | resize `v8.4.4-beta.14` | 重新获取列宽 | - | `void` |
801
+
802
+ #### TableCol Props
803
+
804
+ | 参数 | 说明 | 类型 | 默认值 |
805
+ | :------- | :---------------------------------------------: | :-------------- | :------ |
806
+ | prop | 字段名称,对应列内容的字段名 | string | `-` |
807
+ | label | 列标题 | string | `-` |
808
+ | width | 对应列的宽度,默认单位为 px,不支持传入 `calc` | number / string | `100` |
809
+ | sortable | 是否开启列排序 | boolean | `false` |
810
+ | fixed | 是否固定本列 | boolean | `false` |
811
+ | align | 列的对齐方式, 可选值:`left`、`center`、`right` | string | `left` |
812
+
813
+ #### TableCol Slots
814
+
815
+ | 名称 | 说明 | 参数 |
816
+ | :---- | :----------------- | :------------------------------------------------- |
817
+ | value | 自定义列每项的内容 | row: Object (该项数据),index: number (该项下标) |
818
+
819
+ ::: ifdef M83
820
+
821
+ <iframe
822
+ src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-table"
823
+ frameborder=0
824
+ allowfullscreen class="ui-showcase-iframe">
825
+ </iframe>
826
+ ::: endif
827
+ ::: ifdef M84
828
+ <iframe
829
+ src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-table"
830
+ frameborder=0
831
+ allowfullscreen class="ui-showcase-iframe">
832
+ </iframe>
833
+ ::: endif
834
+
835
+ <style>
836
+ .ui-showcase-iframe {
837
+ position: fixed;
838
+ right: 3.5vw;
839
+ top: 17%;
840
+ width: 375px;
841
+ height: 75vh;
842
+ box-shadow: 0 0 12px 6px #eee;
843
+ border-radius: 15px;
844
+ }
845
+ .main .markdown-body {
846
+ padding: 45px;
847
+ width: calc(97vw - 661px);
848
+ }
849
+ </style>