m8-mcp-server 1.0.1 → 1.1.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 (164) hide show
  1. package/README.md +118 -32
  2. package/dist/index.d.mts +449 -0
  3. package/dist/index.d.ts +449 -0
  4. package/dist/index.js +700 -1
  5. package/dist/index.mjs +700 -0
  6. package/package.json +34 -21
  7. package/prompts/PROMPTS.md +476 -0
  8. package/bin/m8-mcp.js +0 -2
  9. package/dist/constants.js +0 -1
  10. package/dist/data/ejs-doc/api_audio/api_audio.md +0 -225
  11. package/dist/data/ejs-doc/api_auth/api_auth.md +0 -256
  12. package/dist/data/ejs-doc/api_contact/api_contact.md +0 -295
  13. package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  14. package/dist/data/ejs-doc/api_device/api_device.md +0 -761
  15. package/dist/data/ejs-doc/api_event/api_event.md +0 -244
  16. package/dist/data/ejs-doc/api_global/api_global.md +0 -440
  17. package/dist/data/ejs-doc/api_io/api_io.md +0 -369
  18. package/dist/data/ejs-doc/api_navigator/api_navigator.md +0 -654
  19. package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  20. package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  21. package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  22. package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  23. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  24. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  25. package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  26. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  27. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  28. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  29. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  30. package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  31. package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  32. package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  33. package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  34. package/dist/data/ejs-doc/api_page/api_page.md +0 -261
  35. package/dist/data/ejs-doc/api_runtime/api_runtime.md +0 -788
  36. package/dist/data/ejs-doc/api_storage/api_storage.md +0 -320
  37. package/dist/data/ejs-doc/api_stream/api_stream.md +0 -152
  38. package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  39. package/dist/data/ejs-doc/api_ui/api_ui.md +0 -836
  40. package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  41. package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  42. package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
  43. package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  44. package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  45. package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  46. package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  47. package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  48. package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  49. package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  50. package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  51. package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  52. package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
  53. package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
  54. package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
  55. package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  56. package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  57. package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
  58. package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  59. package/dist/data/ejs-doc/api_util/api_util.md +0 -615
  60. package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
  61. package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
  62. package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
  63. package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
  64. 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 +0 -247
  65. 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 +0 -276
  66. 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 +0 -130
  67. 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 +0 -115
  68. 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 +0 -398
  69. 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 +0 -456
  70. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +0 -128
  71. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +0 -142
  72. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +0 -210
  73. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +0 -85
  74. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +0 -21
  75. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +0 -36
  76. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +0 -128
  77. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +0 -148
  78. 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 +0 -76
  79. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +0 -59
  80. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +0 -95
  81. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +0 -76
  82. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +0 -202
  83. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +0 -92
  84. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +0 -412
  85. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +0 -146
  86. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +0 -137
  87. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +0 -363
  88. 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 +0 -188
  89. 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 +0 -460
  90. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +0 -285
  91. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +0 -211
  92. 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 +0 -213
  93. 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 +0 -501
  94. 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 +0 -168
  95. 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 +0 -617
  96. 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 +0 -539
  97. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +0 -999
  98. 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 +0 -150
  99. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +0 -133
  100. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +0 -117
  101. 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 +0 -152
  102. 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 +0 -427
  103. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +0 -212
  104. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +0 -85
  105. 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 +0 -175
  106. 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 +0 -519
  107. 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 +0 -152
  108. 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 +0 -103
  109. 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 +0 -285
  110. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +0 -189
  111. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +0 -217
  112. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +0 -166
  113. 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 +0 -340
  114. 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 +0 -265
  115. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +0 -196
  116. 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 +0 -115
  117. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +0 -232
  118. 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 +0 -631
  119. 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 +0 -531
  120. 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 +0 -111
  121. 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 +0 -337
  122. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +0 -150
  123. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +0 -144
  124. 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 +0 -429
  125. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +0 -467
  126. 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 +0 -295
  127. 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 +0 -577
  128. 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 +0 -491
  129. 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 +0 -265
  130. 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 +0 -203
  131. 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 +0 -139
  132. 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 +0 -199
  133. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +0 -183
  134. 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 +0 -289
  135. 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 +0 -97
  136. 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 +0 -146
  137. 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 +0 -292
  138. 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 +0 -120
  139. 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 +0 -114
  140. 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 +0 -119
  141. 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 +0 -208
  142. 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 +0 -161
  143. 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 +0 -248
  144. 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 +0 -314
  145. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +0 -162
  146. 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 +0 -325
  147. 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 +0 -360
  148. 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 +0 -595
  149. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +0 -262
  150. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +0 -51
  151. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +0 -132
  152. 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 +0 -1538
  153. 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 +0 -261
  154. 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 +0 -161
  155. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +0 -381
  156. 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 +0 -531
  157. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +0 -849
  158. 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 +0 -116
  159. package/dist/data/standards/css-style.md +0 -531
  160. package/dist/data/standards/js-style.md +0 -394
  161. package/dist/data/standards/project-structure.md +0 -325
  162. package/dist/data/standards/vue-style.md +0 -644
  163. package/dist/tools/search.js +0 -1
  164. package/dist/tools/standards.js +0 -1
@@ -1,849 +0,0 @@
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>