m8-framework-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +175 -0
  2. package/build/index.js +963 -0
  3. package/docs/ejs-doc/404/404.html +9 -0
  4. package/docs/ejs-doc/_draft/sha1_salt.md +47 -0
  5. package/docs/ejs-doc/_include/config.php +10 -0
  6. package/docs/ejs-doc/_include/cssboot.inc.php +62 -0
  7. package/docs/ejs-doc/_include/jsboot.inc.php +7 -0
  8. package/docs/ejs-doc/api_app/api_app.md +43 -0
  9. package/docs/ejs-doc/api_audio/api_audio.md +225 -0
  10. package/docs/ejs-doc/api_auth/api_auth.md +256 -0
  11. package/docs/ejs-doc/api_basicCard/api_basicCard.md +69 -0
  12. package/docs/ejs-doc/api_card_ui/api_card_ui.md +37 -0
  13. package/docs/ejs-doc/api_contact/api_contact.md +295 -0
  14. package/docs/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  15. package/docs/ejs-doc/api_device/api_device.md +761 -0
  16. package/docs/ejs-doc/api_event/api_event.md +244 -0
  17. package/docs/ejs-doc/api_global/api_global.md +440 -0
  18. package/docs/ejs-doc/api_io/api_io.md +369 -0
  19. package/docs/ejs-doc/api_miniH5/api_miniH5.md +279 -0
  20. package/docs/ejs-doc/api_navigator/api_navigator.md +654 -0
  21. package/docs/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  22. package/docs/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  23. package/docs/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  24. package/docs/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  25. package/docs/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  26. package/docs/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  27. package/docs/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  28. package/docs/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  29. package/docs/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  30. package/docs/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  31. package/docs/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  32. package/docs/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  33. package/docs/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  34. package/docs/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  35. package/docs/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  36. package/docs/ejs-doc/api_page/api_page.md +261 -0
  37. package/docs/ejs-doc/api_runtime/api_runtime.md +788 -0
  38. package/docs/ejs-doc/api_storage/api_storage.md +320 -0
  39. package/docs/ejs-doc/api_stream/api_stream.md +152 -0
  40. package/docs/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  41. package/docs/ejs-doc/api_ui/api_ui.md +836 -0
  42. package/docs/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  43. package/docs/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  44. package/docs/ejs-doc/api_ui/images/ui_alert.png +0 -0
  45. package/docs/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  46. package/docs/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  47. package/docs/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  48. package/docs/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  49. package/docs/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  50. package/docs/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  51. package/docs/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  52. package/docs/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  53. package/docs/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  54. package/docs/ejs-doc/api_ui/images/ui_select.png +0 -0
  55. package/docs/ejs-doc/api_ui/images/ui_select2.png +0 -0
  56. package/docs/ejs-doc/api_ui/images/ui_select3.png +0 -0
  57. package/docs/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  58. package/docs/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  59. package/docs/ejs-doc/api_ui/images/ui_toast.png +0 -0
  60. package/docs/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  61. package/docs/ejs-doc/api_util/api_util.md +615 -0
  62. package/docs/ejs-doc/api_util/images/util.playvideo.png +0 -0
  63. package/docs/ejs-doc/api_util/images/util.previmage.png +0 -0
  64. package/docs/ejs-doc/api_util/images/util.selectfile.png +0 -0
  65. package/docs/ejs-doc/api_util/images/util.selectimage.png +0 -0
  66. package/docs/ejs-doc/authentication/authentication.md +28 -0
  67. package/docs/ejs-doc/changelog/changelog.md +290 -0
  68. package/docs/ejs-doc/component_invokeplugin/component_invokeplugin.md +54 -0
  69. package/docs/ejs-doc/component_outline/component_outline.md +71 -0
  70. package/docs/ejs-doc/guid_apiconstraint/guid_apiconstraint.md +30 -0
  71. package/docs/ejs-doc/guid_debugpage/guid_debugpage.md +53 -0
  72. package/docs/ejs-doc/guid_debugpage/images/client.jpg +0 -0
  73. package/docs/ejs-doc/guid_debugpage/images/room.png +0 -0
  74. package/docs/ejs-doc/guid_demodebug/guid_demodebug.md +59 -0
  75. package/docs/ejs-doc/guid_demodebug/images/qr_demo.png +0 -0
  76. package/docs/ejs-doc/guid_demodebug/images/qrcode-weex.png +0 -0
  77. package/docs/ejs-doc/guid_demodebug/images/qrcode.png +0 -0
  78. package/docs/ejs-doc/guid_demodebug/images/qrcode_ejs.png +0 -0
  79. package/docs/ejs-doc/guid_errorcode/guid_errorcode.md +27 -0
  80. package/docs/ejs-doc/guid_errorcode/images/5d38937fec5107c38502c3ee38ba5b2c.png +0 -0
  81. package/docs/ejs-doc/guid_getstart/guid_getstart.md +188 -0
  82. package/docs/ejs-doc/introduction/introduction.md +29 -0
  83. package/docs/ejs-doc/jsapi_h5_all/jsapi_h5_all.md +1231 -0
  84. package/docs/ejs-doc/jsapi_mini_all/jsapi_mini_all.md +1105 -0
  85. package/docs/ejs-doc/m7_mini_h5/images/001.png +0 -0
  86. package/docs/ejs-doc/m7_mini_h5/images/dev.png +0 -0
  87. package/docs/ejs-doc/m7_mini_h5/images/install.png +0 -0
  88. package/docs/ejs-doc/m7_mini_h5/images/mobile_dev.png +0 -0
  89. package/docs/ejs-doc/m7_mini_h5/images/setting.png +0 -0
  90. package/docs/ejs-doc/m7_mini_h5/images/update.png +0 -0
  91. package/docs/ejs-doc/m7_mini_h5/m7_mini_h5.md +410 -0
  92. package/docs/ejs-doc/promisesupport/promisesupport.md +84 -0
  93. package/docs/ejs-doc/structure/images/structure.jpg +0 -0
  94. package/docs/ejs-doc/structure/images/structure2.jpg +0 -0
  95. package/docs/ejs-doc/structure/structure.md +26 -0
  96. package/docs/ejs-doc/version/version.md +62 -0
  97. package/docs/m8mpdoc-develop/$navigation.md +343 -0
  98. package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/000-/346/241/206/346/236/266/347/256/200/344/273/213.md +61 -0
  99. package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/001-/346/241/206/346/236/266/346/236/266/346/236/204.md +60 -0
  100. package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/002-/347/233/256/345/275/225/345/217/212/346/226/207/344/273/266/347/273/204/347/273/207.md +106 -0
  101. package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/003-/345/206/205/347/275/256/347/254/254/344/270/211/346/226/271/345/272/223/350/257/264/346/230/216.md +25 -0
  102. package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/004-/345/267/245/347/250/213/350/207/252/345/256/232/344/271/211/351/205/215/347/275/256.md +97 -0
  103. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/000-/347/216/257/345/242/203/345/207/206/345/244/207.md +186 -0
  104. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/001-/345/237/272/347/241/200/350/257/255/346/263/225.md +218 -0
  105. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/002-Vue/347/273/204/344/273/266/344/273/213/347/273/215.md +139 -0
  106. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/004-VSCode/346/217/222/344/273/266.md +125 -0
  107. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/005-pages.md +300 -0
  108. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/006-manifest.md +173 -0
  109. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-CSS/350/257/255/346/263/225.md +217 -0
  110. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-ES6/346/224/257/346/214/201.md +14 -0
  111. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/344/273/200/344/271/210/346/230/257/346/235/241/344/273/266/347/274/226/350/257/221.md +176 -0
  112. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/200/345/217/221/350/247/204/350/214/203.md +167 -0
  113. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/225/347/224/250CSS.md +15 -0
  114. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/225/347/224/250JS.md +42 -0
  115. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/225/347/224/250/347/273/204/344/273/266.md +34 -0
  116. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/225/347/224/250/351/235/231/346/200/201/350/265/204/346/272/220.md +69 -0
  117. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/346/240/207/345/207/206js/345/222/214/346/265/217/350/247/210/345/231/250js/347/232/204/345/214/272/345/210/253.md +16 -0
  118. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/350/260/203/350/257/225.md +29 -0
  119. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/350/267/250/347/253/257/345/205/274/345/256/271.md +11 -0
  120. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/350/277/220/350/241/214.md +50 -0
  121. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/001-/350/267/250/347/253/257/346/263/250/346/204/217.md +325 -0
  122. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/002-/346/241/206/346/236/266/350/216/267/345/217/226.md +38 -0
  123. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/002-/346/241/206/346/236/266/350/216/267/345/217/226vue3.md +39 -0
  124. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/003-/350/267/257/345/276/204/345/210/253/345/220/215.md +21 -0
  125. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/004-/345/274/200/345/247/213/345/274/200/345/217/221.md +105 -0
  126. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/005-/350/265/204/346/272/220/345/244/204/347/220/206/344/270/216/345/217/221/345/270/203.md +0 -0
  127. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/006-Boot/345/205/261/347/224/250/350/265/204/346/272/220.md +13 -0
  128. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/007-Config/344/270/232/345/212/241/351/205/215/347/275/256.md +325 -0
  129. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/008-/345/267/245/345/205/267/347/261/273/346/240/267/345/274/217.md +91 -0
  130. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/009-/347/224/237/345/221/275/345/221/250/346/234/237.md +119 -0
  131. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/009-/347/224/237/345/221/275/345/221/250/346/234/237vue3.md +100 -0
  132. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/010-/346/236/204/345/273/272.md +94 -0
  133. package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/011-/345/217/221/345/270/203.md +51 -0
  134. package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/000-token/347/232/204/344/275/277/347/224/250.md +5 -0
  135. package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/001-/344/273/243/347/240/201/350/247/204/350/214/203/350/207/252/345/212/250/346/243/200/346/265/213.md +0 -0
  136. package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/002-/345/211/215/345/220/216/347/253/257/346/225/260/346/215/256/344/272/244/344/272/222/345/274/200/345/217/221/346/250/241/345/274/217.md +5 -0
  137. package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003-style-guide.md +23 -0
  138. package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003.1-style-guide-a.md +872 -0
  139. package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003.2-style-guide-b.md +1041 -0
  140. package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003.3-style-guide-c.md +489 -0
  141. package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003.4-style-guide-d.md +372 -0
  142. package/docs/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
  143. package/docs/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
  144. package/docs/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
  145. package/docs/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
  146. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/000-EJS2.X.md +5 -0
  147. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS3.X.md +5 -0
  148. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS4.X.md +5 -0
  149. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS4.Xmp.md +5 -0
  150. package/docs/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
  151. package/docs/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
  152. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +128 -0
  153. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +142 -0
  154. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +210 -0
  155. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +85 -0
  156. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +21 -0
  157. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +36 -0
  158. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +128 -0
  159. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +148 -0
  160. package/docs/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
  161. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +59 -0
  162. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +95 -0
  163. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +76 -0
  164. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +202 -0
  165. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +92 -0
  166. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +412 -0
  167. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +146 -0
  168. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +137 -0
  169. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +363 -0
  170. package/docs/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
  171. package/docs/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
  172. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +285 -0
  173. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +211 -0
  174. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/008-cell/345/215/225/345/205/203/346/240/274.md +213 -0
  175. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/009-checkbox/345/244/215/351/200/211/346/241/206.md +501 -0
  176. package/docs/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
  177. package/docs/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
  178. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/013-field/350/276/223/345/205/245/346/241/206.md +539 -0
  179. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +999 -0
  180. package/docs/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
  181. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +133 -0
  182. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +117 -0
  183. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/021-noticebar/351/200/232/347/237/245/346/240/217.md +152 -0
  184. package/docs/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
  185. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +212 -0
  186. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +85 -0
  187. package/docs/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
  188. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/026-picker/351/200/211/346/213/251/345/231/250.md +519 -0
  189. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/027-popup/345/274/271/345/207/272/345/261/202.md +152 -0
  190. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/028-progress/350/277/233/345/272/246/346/235/241.md +103 -0
  191. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/029-radio/345/215/225/351/200/211/346/241/206.md +285 -0
  192. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +189 -0
  193. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +217 -0
  194. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +166 -0
  195. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/033-stepper/346/255/245/350/277/233/345/231/250.md +340 -0
  196. package/docs/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
  197. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +196 -0
  198. package/docs/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
  199. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +232 -0
  200. package/docs/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
  201. package/docs/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
  202. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/041-verifycode/351/252/214/350/257/201/347/240/201.md +111 -0
  203. package/docs/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
  204. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +150 -0
  205. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +144 -0
  206. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/045-toast/350/275/273/346/217/220/347/244/272.md +429 -0
  207. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +467 -0
  208. package/docs/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
  209. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/048-tab/346/240/207/347/255/276/351/241/265.md +577 -0
  210. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/049-dialog/345/274/271/345/207/272/346/241/206.md +491 -0
  211. package/docs/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
  212. package/docs/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
  213. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/052-overlay/351/201/256/347/275/251/345/261/202.md +139 -0
  214. package/docs/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
  215. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +183 -0
  216. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/055-countdown/345/200/222/350/256/241/346/227/266.md +289 -0
  217. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/056-divider/345/210/206/345/211/262/347/272/277.md +97 -0
  218. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/057-empty/347/251/272/347/212/266/346/200/201.md +146 -0
  219. package/docs/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
  220. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/059-lazyload/346/207/222/345/212/240/350/275/275.md +120 -0
  221. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/060-skeleton/351/252/250/346/236/266/345/261/217.md +114 -0
  222. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/061-steps/346/255/245/351/252/244/346/235/241.md +119 -0
  223. package/docs/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
  224. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/063-indexbar/347/264/242/345/274/225/346/240/217.md +161 -0
  225. package/docs/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
  226. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/065-tabbar/346/240/207/347/255/276/346/240/217.md +314 -0
  227. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +162 -0
  228. package/docs/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
  229. package/docs/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
  230. package/docs/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
  231. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +262 -0
  232. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +51 -0
  233. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +132 -0
  234. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/073-qrcode/344/272/214/347/273/264/347/240/201.md +1538 -0
  235. package/docs/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
  236. package/docs/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
  237. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +381 -0
  238. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/077-rtc/351/237/263/350/247/206/351/242/221.md +531 -0
  239. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +849 -0
  240. package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/001-/345/260/217/347/250/213/345/272/217/345/256/277/344/270/273/347/216/257/345/242/203.md +196 -0
  241. package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/002-/350/256/276/350/256/241.md +0 -0
  242. package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/003-/345/274/200/345/217/221/345/260/217/347/250/213/345/272/217.md +267 -0
  243. package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/004-/345/260/217/347/250/213/345/272/217/351/205/215/347/275/256.md +71 -0
  244. package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/005-/345/274/200/345/217/221/345/260/217/347/250/213/345/272/217/345/215/241/347/211/207.md +307 -0
  245. package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/006-/345/274/200/345/217/221/345/206/205/347/275/256/345/260/217/347/250/213/345/272/217.md +222 -0
  246. package/docs/m8mpdoc-develop/011-vuex/344/270/216router/347/232/204/344/275/277/347/224/250/router/347/232/204/344/275/277/347/224/250.md +275 -0
  247. package/docs/m8mpdoc-develop/011-vuex/344/270/216router/347/232/204/344/275/277/347/224/250/vuex/347/232/204/344/275/277/347/224/250.md +60 -0
  248. package/docs/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
  249. package/docs/m8mpdoc-develop/013-/350/247/243/345/206/263/346/234/254/345/234/260/350/267/250/345/237/237/devServer/350/267/250/345/237/237/351/205/215/347/275/256.md +81 -0
  250. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/DOM/346/223/215/344/275/234/346/227/266/346/234/272.md +45 -0
  251. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/M8.3/351/241/271/347/233/256/350/277/201/347/247/273/350/207/263M8.4.md +216 -0
  252. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/M8/350/200/201/351/241/271/347/233/256/350/277/201/347/247/273/350/267/250/347/253/257.md +55 -0
  253. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/install.md +91 -0
  254. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/pageopen.md +52 -0
  255. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/postcss/350/256/276/347/275/256.md +24 -0
  256. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/spechara.md +39 -0
  257. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/token/350/256/276/347/275/256.md +14 -0
  258. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/transpile_dependencies.md +18 -0
  259. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/webview/344/270/255/345/206/205/345/265/214H5/351/241/265/351/235/242.md +186 -0
  260. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//344/270/211/346/226/271APP/346/240/207/351/242/230/344/270/215/350/207/252/345/212/250/344/277/256/346/224/271.md +30 -0
  261. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//344/270/252/346/200/247/345/214/226/346/241/206/346/236/266/347/273/204/344/273/266.md +87 -0
  262. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//344/274/240/345/200/274/345/212/250/346/200/201/346/240/267/345/274/217.md +29 -0
  263. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//344/277/256/346/224/271/347/273/204/344/273/266/345/206/205/346/240/267/345/274/217.md +29 -0
  264. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//345/244/204/347/220/206/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/350/267/250/345/237/237/351/227/256/351/242/230.md +22 -0
  265. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//346/243/200/346/265/213/345/217/230/345/214/226/347/232/204/346/263/250/346/204/217/344/272/213/351/241/271.md +183 -0
  266. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//347/234/237/346/234/272/350/260/203/350/257/225.md +26 -0
  267. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//350/267/250/347/253/257/345/274/200/345/217/221/345/270/270/350/247/201/351/227/256/351/242/230.md +126 -0
  268. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//350/267/250/347/253/257/346/241/206/346/236/266/345/256/211/345/205/250/345/237/237/351/200/202/351/205/215.md +153 -0
  269. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/3thbuild.md +42 -0
  270. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/Pinia/347/232/204/344/275/277/347/224/250.md +88 -0
  271. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/custom_compts.md +60 -0
  272. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/customize.md +283 -0
  273. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/customtoken.md +74 -0
  274. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/i18n.md +220 -0
  275. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/modules.md +44 -0
  276. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/multiple.md +160 -0
  277. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/neui/345/272/224/347/224/250/346/236/204/345/273/272.md +111 -0
  278. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/pages.md +18 -0
  279. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/scss/345/217/230/351/207/217.md +132 -0
  280. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/subpage.md +107 -0
  281. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/weex/345/272/224/347/224/250/346/236/204/345/273/272.md +106 -0
  282. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/xmapp.md +77 -0
  283. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226//344/270/216/345/216/237/347/224/237/351/241/271/347/233/256/350/236/215/345/220/210.md +61 -0
  284. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226//351/200/202/350/200/201/345/214/226/346/226/271/346/241/210.md +74 -0
  285. package/docs/m8mpdoc-develop/016-/350/247/206/350/247/211/350/247/204/350/214/203//347/247/273/345/212/250/350/247/206/350/247/211/350/256/276/350/256/241/350/247/204/350/214/2032.0.md +1 -0
  286. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/001-view.md +56 -0
  287. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/002-scroll-view.md +233 -0
  288. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/003-match-media.md +43 -0
  289. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/004-movable-view.md +118 -0
  290. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/005-cover-view.md +20 -0
  291. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/006-cover-image.md +154 -0
  292. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/007-audio.md +81 -0
  293. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/008-camera.md +70 -0
  294. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/009-image.md +197 -0
  295. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/010-video.md +196 -0
  296. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/011-live-player.md +139 -0
  297. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/012-live-pusher.md +274 -0
  298. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/013-canvas.md +90 -0
  299. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/014-web-view.md +151 -0
  300. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/015-vue/347/273/204/344/273/266.md +308 -0
  301. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/018-map.md +278 -0
  302. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/019-input.md +202 -0
  303. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/020-textarea.md +119 -0
  304. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/021-movable-area.md +25 -0
  305. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/022-page-meta.md +80 -0
  306. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/023-navigation-bar.md +58 -0
  307. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/0-/344/273/213/347/273/215.md +92 -0
  308. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/000-/351/200/232/347/224/250/346/240/267/345/274/217.md +9 -0
  309. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/001-button/346/214/211/351/222/256.md +497 -0
  310. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/002-buttonedit/346/214/211/351/222/256/347/274/226/350/276/221.md +146 -0
  311. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/003-radio/345/215/225/351/200/211/346/241/206.md +476 -0
  312. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/004-checkbox/345/244/232/351/200/211/347/273/204.md +622 -0
  313. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/005-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +257 -0
  314. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/006-slider/346/273/221/345/235/227.md +420 -0
  315. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/007-badge/350/247/222/346/240/207.md +175 -0
  316. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/008-icon/345/233/276/346/240/207.md +133 -0
  317. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/009-overlay/351/201/256/347/275/251/345/261/202.md +111 -0
  318. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/010-drawer/346/212/275/345/261/211.md +369 -0
  319. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/011-dialog/345/274/271/345/207/272/345/261/202.md +430 -0
  320. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/015-steps/346/255/245/351/252/244/346/235/241.md +250 -0
  321. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/017-tooltip/346/226/207/345/255/227/346/217/220/347/244/272.md +101 -0
  322. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/018-progress/350/277/233/345/272/246/346/235/241.md +252 -0
  323. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/019-layout/345/270/203/345/261/200.md +324 -0
  324. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/023-toolbar/345/267/245/345/205/267/346/240/217.md +612 -0
  325. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/024-toolbarbtns/346/214/211/351/222/256/347/273/204.md +228 -0
  326. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/025-input/350/276/223/345/205/245/346/241/206.md +383 -0
  327. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/026-autocomplete/350/207/252/345/212/250/350/241/245/345/205/250/350/276/223/345/205/245/346/241/206.md +305 -0
  328. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/027-form/350/241/250/345/215/225.md +1343 -0
  329. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/028-cascader/347/272/247/350/201/224.md +695 -0
  330. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/029-image/345/233/276/347/211/207.md +211 -0
  331. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/031-datagrid/345/210/227/350/241/250.md +664 -0
  332. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/032-pagination/345/210/206/351/241/265.md +192 -0
  333. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/033-configprovider/345/205/250/345/261/200/351/205/215/347/275/256.md +417 -0
  334. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/034-switch/345/274/200/345/205/263.md +305 -0
  335. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/035-breadcrumb/351/235/242/345/214/205/345/261/221.md +90 -0
  336. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/036-empty/347/251/272/347/212/266/346/200/201.md +80 -0
  337. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/037-colorpalette/350/260/203/350/211/262/346/235/277.md +201 -0
  338. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/038-alert/346/217/220/347/244/272.md +206 -0
  339. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/039-scrollbar/346/273/232/345/212/250/346/235/241.md +256 -0
  340. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/040-skeleton/351/252/250/346/236/266/345/261/217.md +284 -0
  341. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/041-loading/345/212/240/350/275/275.md +183 -0
  342. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/042-verifycode/351/252/214/350/257/201/347/240/201.md +128 -0
  343. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/043-timeline/346/227/266/351/227/264/350/275/264.md +196 -0
  344. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/044-workflow/345/267/245/344/275/234/346/265/201.md +452 -0
  345. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/045-ewebeditor/345/257/214/346/226/207/346/234/254/347/274/226/350/276/221/345/231/250.md +236 -0
  346. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/046-tabs/346/240/207/347/255/276/351/241/265.md +388 -0
  347. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/047-notification/351/200/232/347/237/245.md +321 -0
  348. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/048-dropdown/344/270/213/346/213/211/350/217/234/345/215/225.md +400 -0
  349. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/049-tree/346/240/221/345/275/242/346/216/247/344/273/266.md +1567 -0
  350. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/050-popover/345/274/271/345/207/272/346/241/206.md +294 -0
  351. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/051-select/351/200/211/346/213/251/345/231/250.md +976 -0
  352. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/052-tree-select/346/240/221/345/275/242/351/200/211/346/213/251.md +918 -0
  353. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/053-inputnumber/346/225/260/345/255/227/350/276/223/345/205/245/346/241/206.md +206 -0
  354. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/054-tag/346/240/207/347/255/276.md +348 -0
  355. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/055-upload/344/270/212/344/274/240.md +718 -0
  356. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/056-message/346/266/210/346/201/257/346/217/220/347/244/272.md +287 -0
  357. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/057-segmented/345/210/206/346/256/265/346/216/247/345/210/266/345/231/250.md +222 -0
  358. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/058-progress/350/277/233/345/272/246/346/235/241.md +420 -0
  359. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/059-result/347/273/223/346/236/234.md +106 -0
  360. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/060-avatar/345/244/264/345/203/217.md +294 -0
  361. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/061-affix/345/233/272/351/222/211.md +120 -0
  362. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/062-popconfirm/346/260/224/346/263/241/347/241/256/350/256/244/346/241/206.md +139 -0
  363. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/063-input-tag/346/240/207/347/255/276/350/276/223/345/205/245/346/241/206.md +244 -0
  364. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/063-messagebox/346/266/210/346/201/257/345/274/271/346/241/206.md +527 -0
  365. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/064-rate/350/257/204/345/210/206.md +223 -0
  366. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/065-table/350/241/250/346/240/274.md +1417 -0
  367. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/066-link/351/223/276/346/216/245.md +177 -0
  368. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/067-file-upload/346/226/207/344/273/266/344/270/212/344/274/240.md +389 -0
  369. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/068-text/346/226/207/346/234/254.md +202 -0
  370. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/069-backtop/345/233/236/345/210/260/351/241/266/351/203/250.md +165 -0
  371. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/070-image-upload/345/233/276/347/211/207/344/270/212/344/274/240.md +388 -0
  372. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/071-file-list/346/226/207/344/273/266/345/210/227/350/241/250.md +94 -0
  373. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/072-sublist/345/255/220/350/241/250.md +729 -0
  374. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/073-carousel/350/265/260/351/251/254/347/201/257.md +306 -0
  375. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/075-date-picker/346/227/245/346/234/237/351/200/211/346/213/251.md +580 -0
  376. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/076-colorPicker/351/242/234/350/211/262/351/200/211/346/213/251/345/231/250.md +183 -0
  377. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/077-mention/346/217/220/345/217/212.md +390 -0
  378. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/079-timeselect/346/227/266/351/227/264/351/200/211/346/213/251/345/231/250.md +170 -0
  379. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/080-card/345/215/241/347/211/207.md +198 -0
  380. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/082-datetimepicker/346/227/266/351/227/264/351/200/211/346/213/251.md +392 -0
  381. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/085-timepicker/346/227/266/351/227/264/351/200/211/346/213/251/345/231/250.md +163 -0
  382. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/086-calendar/346/227/245/345/216/206.md +141 -0
  383. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/087-divider/345/210/206/345/211/262/347/272/277.md +77 -0
  384. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/090-upload-service/346/226/207/344/273/266/344/270/212/344/274/240.md +61 -0
  385. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/091-image-upload-service/345/233/276/347/211/207/344/270/212/344/274/240.md +49 -0
  386. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/092-space/351/227/264/350/267/235.md +305 -0
  387. package/docs/m8mpdoc-develop/home-/351/246/226/351/241/265.md +612 -0
  388. package/docs/m8mpdoc-develop/home1-propose.md +45 -0
  389. package/package.json +54 -0
@@ -0,0 +1,1417 @@
1
+ # Table 表格
2
+
3
+ 展示行列数据
4
+
5
+ ## 基本用法
6
+
7
+ 简单的表格,最后一列配置为操作列时,表格默认提供一个操作列样式,可通过 `click-action` 事件处理操作列的点击事件。
8
+
9
+ 表格组件需要手动设置高度,可根据需求自行配置。
10
+
11
+ ```html
12
+ <template>
13
+ <e-table-m
14
+ rowKey="userGuid"
15
+ :columns="columnList1"
16
+ :data-source="dataSource1"
17
+ height="100%"
18
+ @click-action="clickAction"
19
+ ></e-table-m>
20
+ </template>
21
+ <script lang="ts" setup>
22
+ import { reactive } from 'vue';
23
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
24
+
25
+ const columnList1: Record<string, any>[] = [
26
+ { key: 'itemName', dataIndex: 'itemName', title: '事项名称', width: 100 },
27
+ { key: 'ouName', dataIndex: 'ouName', title: '所在部门', width: 100 },
28
+ {
29
+ key: 'date',
30
+ dataIndex: 'date',
31
+ title: '办理时间',
32
+ width: 100
33
+ },
34
+ {
35
+ title: '操作',
36
+ key: 'action',
37
+ width: 80
38
+ }
39
+ ];
40
+ const clickAction = (record: Record<string, any>) => {
41
+ ejs.ui.actionSheet({
42
+ items: ['编辑', '删除'],
43
+ success: function (result) {
44
+ if (result.which > -1) {
45
+ ejs.ui.toast(result.content + record.itemName);
46
+ }
47
+ },
48
+ error: function (err) {}
49
+ });
50
+ };
51
+
52
+ const params = reactive({
53
+ userName: '',
54
+ loginId: '',
55
+ ouName: ''
56
+ });
57
+ // tableSource 具备以下属性: { dataSource, pageSize, current, total, loading, refresh, onTableChange }
58
+ // 需要双向绑定时,要解构获取
59
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
60
+ pageSize: 10, // 默认就是10
61
+ idField: 'userGuid',
62
+ columns: columnList1,
63
+ params
64
+ });
65
+ </script>
66
+ ```
67
+
68
+ ## 使用插槽
69
+
70
+ 可以使用 `bodyCell` 插槽自定义单元格内容。
71
+
72
+ ```html
73
+ <template>
74
+ <e-table-m :dataSource="dataSource1" :columns="columnList1" height="100%">
75
+ <template #bodyCell="{ column, record }">
76
+ <template v-if="column.key === 'ouName'">
77
+ <e-tag-m>{{ record.ouName }}</e-tag-m>
78
+ </template>
79
+ <template v-else-if="column.key === 'date'">
80
+ <span style="color: blue">{{ record.date }}</span>
81
+ </template>
82
+ <template v-else-if="column.key === 'action'">
83
+ <div @click.stop="Del">
84
+ <e-button-m link type="danger">删除</e-button-m>
85
+ </div>
86
+ </template>
87
+ </template>
88
+ </e-table-m>
89
+ </template>
90
+ <script lang="ts" setup>
91
+ import { reactive } from 'vue';
92
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
93
+
94
+ const columnList1: Record<string, any>[] = [
95
+ { key: 'itemName', dataIndex: 'itemName', title: '事项名称', width: 100 },
96
+ { key: 'ouName', dataIndex: 'ouName', title: '所在部门', width: 100 },
97
+ {
98
+ key: 'date',
99
+ dataIndex: 'date',
100
+ title: '办理时间',
101
+ width: 100
102
+ },
103
+ {
104
+ title: '操作',
105
+ key: 'action',
106
+ width: 80
107
+ }
108
+ ];
109
+
110
+ const params = reactive({
111
+ userName: '',
112
+ loginId: '',
113
+ ouName: ''
114
+ });
115
+ // tableSource 具备以下属性: { dataSource, pageSize, current, total, loading, refresh, onTableChange }
116
+ // 需要双向绑定时,要解构获取
117
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
118
+ pageSize: 10, // 默认就是10
119
+ idField: 'userGuid',
120
+ columns: columnList1,
121
+ params
122
+ });
123
+ </script>
124
+ ```
125
+
126
+ ## 异步加载
127
+
128
+ 这个例子演示了如何从服务端读取并展现数据,具有 loading 效果。开发者可以自行接入其他数据处理方式。
129
+
130
+ ```html
131
+ <template>
132
+ <e-table-m
133
+ :dataSource="dataSource"
134
+ :columns="columnList1"
135
+ :row-key="(record) => record.userGuid"
136
+ :pagination="pagination"
137
+ :loading="loading"
138
+ height="100%"
139
+ @change="onTableChange"
140
+ ></e-table-m>
141
+ </template>
142
+ <script lang="ts" setup>
143
+ import { reactive } from 'vue';
144
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
145
+
146
+ const columnList1: Record<string, any>[] = [
147
+ { key: 'itemName', dataIndex: 'itemName', title: '事项名称', width: 100 },
148
+ { key: 'ouName', dataIndex: 'ouName', title: '所在部门', width: 100 },
149
+ {
150
+ key: 'date',
151
+ dataIndex: 'date',
152
+ title: '办理时间',
153
+ width: 100
154
+ },
155
+ {
156
+ title: '操作',
157
+ key: 'action',
158
+ width: 80
159
+ }
160
+ ];
161
+
162
+ const params = reactive({
163
+ userName: '',
164
+ loginId: '',
165
+ ouName: ''
166
+ });
167
+ // 需要双向绑定时,要解构获取
168
+ const { dataSource, pageSize, current, total, loading, refresh, onTableChange } = useTableDataSource(
169
+ '/frameaction/getDataGridData',
170
+ {
171
+ pageSize: 10, // 模拟数据是10
172
+ idField: 'userGuid',
173
+ columns: columnList1,
174
+ params
175
+ }
176
+ );
177
+ const pagination = reactive({
178
+ total,
179
+ current: current.value,
180
+ pageSize: pageSize.value
181
+ });
182
+ </script>
183
+ ```
184
+
185
+ ## 筛选和排序
186
+
187
+ 组件提供 `toolbar`插槽,可结合 `ep-toolbar` 工具栏对表格数据进行筛选和排序。
188
+
189
+ 不使用插槽设置工具栏时,表格高度需要自行计算。
190
+
191
+ ```html
192
+ <template>
193
+ <e-table-m
194
+ :dataSource="editData"
195
+ :columns="columnList1"
196
+ :loading="loading2"
197
+ :pagination="pagination2"
198
+ height="100%"
199
+ @change="onTableChange2"
200
+ >
201
+ <template #toolbar>
202
+ <e-toolbar-m>
203
+ <template #filter>
204
+ <e-toolbar-search-m :search-list="searchList" @advance-search="onAdvanceSearch" />
205
+ </template>
206
+ <template #extra>
207
+ <e-toolbar-sort-m v-model="sorter" :sort-list="sortList" />
208
+ </template>
209
+ </e-toolbar-m>
210
+ </template>
211
+ </e-table-m>
212
+ </template>
213
+ <script lang="ts" setup>
214
+ import { reactive } from 'vue';
215
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
216
+
217
+ const params: any = reactive({
218
+ userName: '',
219
+ loginId: '',
220
+ ouName: ''
221
+ });
222
+ const columnList1: Record<string, any>[] = [
223
+ { key: 'itemName', dataIndex: 'itemName', title: '事项名称', width: 100 },
224
+ { key: 'ouName', dataIndex: 'ouName', title: '所在部门', width: 100 },
225
+ {
226
+ key: 'date',
227
+ dataIndex: 'date',
228
+ title: '办理时间',
229
+ width: 100
230
+ },
231
+ {
232
+ title: '操作',
233
+ key: 'action',
234
+ width: 80
235
+ }
236
+ ];
237
+ const {
238
+ dataSource: dataSource2,
239
+ pageSize: pageSize2,
240
+ current: current2,
241
+ total: total2,
242
+ loading: loading2,
243
+ onTableChange: onTableChange2
244
+ } = useTableDataSource('/frameaction/getDataGridData', {
245
+ pageSize: 10, // 模拟数据是10
246
+ idField: 'userGuid',
247
+ columns: columnList1,
248
+ params
249
+ });
250
+ const editData = ref([]);
251
+
252
+ watch(
253
+ dataSource2,
254
+ (val) => {
255
+ editData.value = val;
256
+ },
257
+ {
258
+ immediate: true
259
+ }
260
+ );
261
+ // 给表格组件绑定初始化的分页设置
262
+ const pagination2 = reactive({
263
+ total: total2,
264
+ current: current2.value,
265
+ pageSize: pageSize2.value
266
+ });
267
+ const onAdvanceSearch = (filterRes) => {
268
+ console.log('onAdvanceSearch', filterRes);
269
+ // 修改列表请求的查询参数
270
+ params.searchParams = filterRes.conditions;
271
+ params.logicOperator = filterRes.logicOperator;
272
+
273
+ // 筛选事件触发列表刷新
274
+ onTableChange2(
275
+ {
276
+ pageSize: pageSize2.value,
277
+ current: current2.value
278
+ },
279
+ filterRes,
280
+ []
281
+ );
282
+ };
283
+ // 筛选条件
284
+ const searchList = ref([
285
+ {
286
+ label: '复合搜索',
287
+ field: 'searchField',
288
+ type: 'mixSearch', // 复合搜索
289
+ default: true,
290
+ operation: 'EQ',
291
+ operations: [
292
+ {
293
+ label: '等于',
294
+ value: 'EQ'
295
+ },
296
+ {
297
+ label: '不等于',
298
+ value: 'NQ'
299
+ },
300
+ {
301
+ label: '包含',
302
+ value: 'IN'
303
+ },
304
+ {
305
+ label: '不包含',
306
+ value: 'NOTIN'
307
+ }
308
+ ],
309
+ data: [
310
+ { label: '事项名称', value: 'itemName' },
311
+ { label: '所在部门', value: 'ouName' },
312
+ { label: '年龄', value: 'age' }
313
+ ]
314
+ },
315
+ {
316
+ label: '事项名称',
317
+ field: 'itemName',
318
+ type: 'input',
319
+ default: true,
320
+ operation: 'EQ',
321
+ operations: [
322
+ {
323
+ label: '等于',
324
+ value: 'EQ'
325
+ },
326
+ {
327
+ label: '不等于',
328
+ value: 'NQ'
329
+ },
330
+ {
331
+ label: '包含',
332
+ value: 'IN'
333
+ },
334
+ {
335
+ label: '不包含',
336
+ value: 'NOTIN'
337
+ }
338
+ ]
339
+ },
340
+ {
341
+ label: '办理时间',
342
+ field: 'date',
343
+ type: 'datePicker',
344
+ default: true,
345
+ operation: 'EQ',
346
+ operations: [
347
+ {
348
+ label: '等于',
349
+ value: 'EQ'
350
+ },
351
+ {
352
+ label: '不等于',
353
+ value: 'NQ'
354
+ },
355
+ {
356
+ label: '介于',
357
+ value: 'BTW',
358
+ type: 'rangeDatePicker'
359
+ }
360
+ ]
361
+ },
362
+ {
363
+ label: '所在部门',
364
+ field: 'ouName',
365
+ type: 'select',
366
+ default: true,
367
+ operation: 'EQ',
368
+ operations: [
369
+ {
370
+ label: '等于',
371
+ value: 'EQ'
372
+ },
373
+ {
374
+ label: '不等于',
375
+ value: 'NQ',
376
+ type: 'select',
377
+ url: '/frametoolbar/getCodeList'
378
+ },
379
+ {
380
+ label: '包含',
381
+ value: 'IN'
382
+ },
383
+ {
384
+ label: '不包含',
385
+ value: 'NOTIN'
386
+ }
387
+ ],
388
+ data: [
389
+ {
390
+ label: '启用',
391
+ value: '1'
392
+ },
393
+ {
394
+ label: '禁用',
395
+ value: '0'
396
+ }
397
+ ]
398
+ }
399
+ ]);
400
+ // 排序列表
401
+ const sortList = ref([
402
+ {
403
+ name: '事项名称',
404
+ field: 'itemName',
405
+ order: 'ascend' // 可设置初始化的排序顺序
406
+ },
407
+ {
408
+ name: '所在部门',
409
+ field: 'ouName',
410
+ order: ''
411
+ }
412
+ ]);
413
+ // 排序结果
414
+ const sorter = ref({
415
+ field: '',
416
+ order: ''
417
+ });
418
+ watch(
419
+ sorter,
420
+ (sortRes) => {
421
+ if (sortRes.field) {
422
+ // 可以本地进行排序
423
+ editData.value = editData.value
424
+ .sort((a, b) => {
425
+ if (sortRes.order === 'ascend') {
426
+ return a[sortRes.field].localeCompare(b[sortRes.field], 'zh-CN');
427
+ } else {
428
+ return b[sortRes.field].localeCompare(a[sortRes.field], 'zh-CN');
429
+ }
430
+ })
431
+ .slice(0);
432
+
433
+ // 也可以远程交给服务器进行排序
434
+ // onTableChange2({
435
+ // pageSize: pageSize2.value,
436
+ // current: current2.value
437
+ // }, null, sortRes);
438
+ }
439
+ },
440
+ {
441
+ immediate: true
442
+ }
443
+ );
444
+ </script>
445
+ ```
446
+
447
+ ## 行编辑
448
+
449
+ 设置 `showDetail` 为 `true` 时,点击行会弹窗展示行详情。
450
+
451
+ 通过 `getFormBtns` 属性配置弹窗底部操作按钮,该属性是一个方法,可根据不同状态配置不同的操作按钮。
452
+
453
+ 组件提供了 `toggleEdit` 方法,用于在查看和编辑两种模式之间进行切换。
454
+
455
+ 弹窗中的表单组件默认为 `ep-input`,可通过 `column.editor.props` 调整 `ep-input`组件的属性。
456
+
457
+ 若想要在编辑模式下禁用某一列的编辑,可配置 `column.disabled` 为 `true`。
458
+
459
+ 当然,你也可以通过 `editor` 插槽替换为其他组件,或者通过 `form` 插槽直接替换整块表单内容。
460
+
461
+ ```html
462
+ <template>
463
+ <e-table-m
464
+ ref="tableRef"
465
+ :rowKey="rowKey"
466
+ :dataSource="editData3"
467
+ :columns="columnList7"
468
+ height="100%"
469
+ showDetail
470
+ :title="() => '事项详情'"
471
+ :getFormBtns="getFormBtns"
472
+ >
473
+ <template #editor="{ column, record, editable }">
474
+ <e-input-m
475
+ v-if="column.dataIndex === 'age'"
476
+ v-model.number="record[column.dataIndex]"
477
+ :disabled="!editable"
478
+ type="number"
479
+ />
480
+ </template>
481
+ </e-table-m>
482
+ </template>
483
+ <script lang="ts" setup>
484
+ import { reactive, ref, watch, computed } from 'vue';
485
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
486
+
487
+ const rowKey = 'userGuid';
488
+ const columnList7: Record<string, any>[] = [
489
+ {
490
+ dataIndex: 'itemName',
491
+ title: '事项名称',
492
+ disabled: true,
493
+ required: true,
494
+ width: 100
495
+ },
496
+ { dataIndex: 'ouName', title: '所在部门', width: 100 },
497
+ {
498
+ dataIndex: 'date',
499
+ title: '办理时间',
500
+ width: 100
501
+ },
502
+ {
503
+ dataIndex: 'schedule',
504
+ title: '预约时间',
505
+ width: 100
506
+ },
507
+ {
508
+ dataIndex: 'age',
509
+ title: '年龄',
510
+ width: 100,
511
+ rules: [
512
+ { type: 'required', message: '请输入年龄' },
513
+ { type: 'number', message: '请输入正确的年龄' }
514
+ ]
515
+ },
516
+ {
517
+ dataIndex: 'status',
518
+ title: '状态',
519
+ width: 100
520
+ }
521
+ ];
522
+ const { dataSource: dataSource3 } = useTableDataSource('/frameaction/getDataGridDataAll', {
523
+ pageSize: 10, // 模拟数据是10
524
+ idField: 'userGuid',
525
+ columns: columnList7
526
+ });
527
+ const editData3 = ref([]); // 编辑数据,用于列表展示
528
+ const saveData = ref([]); // 最终保存的数据,用于模拟保存,实际业务应该是去请求接口保存
529
+
530
+ watch(
531
+ dataSource3,
532
+ (val) => {
533
+ saveData.value = JSON.parse(JSON.stringify(val));
534
+ },
535
+ {
536
+ immediate: true
537
+ }
538
+ );
539
+
540
+ watch(
541
+ saveData,
542
+ (val) => {
543
+ editData3.value = JSON.parse(JSON.stringify(val));
544
+ },
545
+ {
546
+ immediate: true
547
+ }
548
+ );
549
+ const tableRef = ref<any>();
550
+ const add = () => {
551
+ const userGuid = new Date().getTime().toString();
552
+ tableRef.value.add({
553
+ userGuid,
554
+ itemName: '我是新增事项',
555
+ ouName: '',
556
+ status: '',
557
+ age: '',
558
+ date: '',
559
+ schedule: ''
560
+ });
561
+ // 新增的数据切换成编辑态
562
+ tableRef.value.toggleEdit(true, userGuid);
563
+ };
564
+ const save = async () => {
565
+ // 保存之前先校验行数据
566
+ const { valid, fields } = await tableRef.value.validateRow();
567
+ console.log('校验表单', valid, fields);
568
+
569
+ if (valid) {
570
+ const currRowData = tableRef.value.getRowData();
571
+ const index = saveData.value.findIndex((item) => item[rowKey] === currRowData[rowKey]);
572
+ let list = saveData.value.slice(0);
573
+
574
+ if (index > -1) {
575
+ list = saveData.value.map((data, i) => {
576
+ if (index === i) {
577
+ return currRowData;
578
+ } else {
579
+ return data;
580
+ }
581
+ });
582
+ } else {
583
+ list.push(currRowData);
584
+ }
585
+
586
+ saveData.value = list.slice(0);
587
+
588
+ return true;
589
+ }
590
+
591
+ ejs.ui.toast('保存失败!');
592
+
593
+ return false;
594
+ };
595
+ // 行操作按钮
596
+ const getFormBtns = (record, rowIndex, editable) => {
597
+ let btns = [];
598
+ const detailBtns = [
599
+ {
600
+ content: '新增',
601
+ id: 'add',
602
+ icon: 'Plus',
603
+ onClick: add
604
+ },
605
+ {
606
+ content: '编辑',
607
+ id: 'edit',
608
+ icon: 'Edit',
609
+ onClick: () => {
610
+ // 切换当前弹窗数据为编辑态
611
+ tableRef.value.toggleEdit(true);
612
+ }
613
+ },
614
+ {
615
+ content: '删除',
616
+ id: 'delete',
617
+ icon: 'Delete',
618
+ onClick: () => {
619
+ // 获取当前弹窗数据
620
+ const currRowData = tableRef.value.getRowData();
621
+
622
+ saveData.value = editData3.value.filter((item) => item[rowKey] !== currRowData[rowKey]);
623
+ // 删除后跳转上一条数据,防止超限
624
+ tableRef.value.prev();
625
+ }
626
+ }
627
+ ];
628
+ const editBtns = [
629
+ {
630
+ content: '保存',
631
+ id: 'save',
632
+ type: 'primary',
633
+ onClick: async () => {
634
+ const res = await save();
635
+
636
+ if (res) {
637
+ // 切换为只读态
638
+ tableRef.value.toggleEdit(false);
639
+ // 保存完毕关闭弹窗
640
+ tableRef.value.toggleExpandRow(false);
641
+ }
642
+ }
643
+ },
644
+ {
645
+ content: '保存并新增',
646
+ id: 'saveAndAdd',
647
+ onClick: async () => {
648
+ const res = await save();
649
+
650
+ if (res) {
651
+ add();
652
+ }
653
+ }
654
+ },
655
+ {
656
+ // 上移按钮
657
+ content: '上移',
658
+ id: 'moveUp',
659
+ icon: 'Top',
660
+ onClick: () => {
661
+ const index = tableRef.value.getCurrRowIndex();
662
+
663
+ // 将 index 的数据上移一行
664
+ let list = editData3.value.slice(0);
665
+ list.splice(index - 1, 0, list.splice(index, 1)[0]);
666
+ saveData.value = list.slice(0);
667
+ tableRef.value.prev();
668
+ }
669
+ },
670
+ {
671
+ // 下移按钮
672
+ content: '下移',
673
+ id: 'moveDown',
674
+ icon: 'Bottom',
675
+ onClick: () => {
676
+ const index = tableRef.value.getCurrRowIndex();
677
+
678
+ // 将 index 的数据下移一行
679
+ let list = editData3.value.slice(0);
680
+ list.splice(index + 1, 0, list.splice(index, 1)[0]);
681
+ saveData.value = list.slice(0);
682
+ tableRef.value.next();
683
+ }
684
+ }
685
+ ];
686
+
687
+ if (editable) {
688
+ btns = editBtns;
689
+ } else {
690
+ btns = detailBtns;
691
+ }
692
+
693
+ if (rowIndex === 0) {
694
+ // 第一条不展示上移
695
+ return btns.filter((item) => item.id !== 'moveUp');
696
+ }
697
+
698
+ if (rowIndex === editData3.value.length - 1) {
699
+ // 最后一条不展示下移
700
+ return btns.filter((item) => item.id !== 'moveDown');
701
+ }
702
+
703
+ return btns;
704
+ };
705
+ </script>
706
+ ```
707
+
708
+ ## 带边框
709
+
710
+ 添加表格边框线,页头和页脚。
711
+
712
+ ```html
713
+ <template>
714
+ <e-radio-group-m v-model="borderStyle" label="边框控制">
715
+ <e-radio-button-m value="none">无边框</e-radio-button-m>
716
+ <e-radio-button-m value="horizontal">行边框</e-radio-button-m>
717
+ <e-radio-button-m value="full">全边框</e-radio-button-m>
718
+ </e-radio-group-m>
719
+ <e-table-m :borderStyle="borderStyle" :dataSource="dataSource1" :columns="columnList1" height="calc(100% - 30px)">
720
+ <template #title>表头</template>
721
+ <template #footer>表尾</template>
722
+ </e-table-m>
723
+ </template>
724
+ <script lang="ts" setup>
725
+ import { reactive, ref } from 'vue';
726
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
727
+
728
+ const borderStyle = ref('none');
729
+ const columnList1: Record<string, any>[] = [
730
+ { key: 'itemName', dataIndex: 'itemName', title: '事项名称', width: 100 },
731
+ { key: 'ouName', dataIndex: 'ouName', title: '所在部门', width: 100 },
732
+ {
733
+ key: 'date',
734
+ dataIndex: 'date',
735
+ title: '办理时间',
736
+ width: 100
737
+ },
738
+ {
739
+ title: '操作',
740
+ key: 'action',
741
+ width: 80
742
+ }
743
+ ];
744
+
745
+ const params = reactive({
746
+ userName: '',
747
+ loginId: '',
748
+ ouName: ''
749
+ });
750
+ // tableSource 具备以下属性: { dataSource, pageSize, current, total, loading, refresh, onTableChange }
751
+ // 需要双向绑定时,要解构获取
752
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
753
+ pageSize: 10, // 默认就是10
754
+ idField: 'userGuid',
755
+ columns: columnList1,
756
+ params
757
+ });
758
+ </script>
759
+ ```
760
+
761
+ ## 单元格自动省略
762
+
763
+ 设置 `column.ellipsis` 可以让单元格内容根据宽度超出一行自动省略。
764
+
765
+ ```html
766
+ <template>
767
+ <div style="margin-bottom: 10px">
768
+ <e-switch-m v-model="ellipsisEnabled" />
769
+ <span style="margin-left: 8px">{{ ellipsisEnabled ? '开启省略' : '关闭省略' }}</span>
770
+ </div>
771
+ <e-table-m :dataSource="dataSource1" :columns="columnList2" height="calc(100% - 40px)"></e-table-m>
772
+ </template>
773
+ <script lang="ts" setup>
774
+ import { reactive, ref, computed } from 'vue';
775
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
776
+
777
+ const ellipsisEnabled = ref(true);
778
+ const baseColumns: Record<string, any>[] = [
779
+ { dataIndex: 'itemName', title: '事项名称' },
780
+ { dataIndex: 'ouName', title: '所在部门' },
781
+ {
782
+ dataIndex: 'date',
783
+ title: '办理时间'
784
+ },
785
+ {
786
+ title: '操作',
787
+ key: 'action'
788
+ }
789
+ ];
790
+ const columnList2 = computed(() => {
791
+ return baseColumns.map((column) => {
792
+ if (column.dataIndex === 'date') {
793
+ return {
794
+ ...column,
795
+ width: 100,
796
+ ellipsis: ellipsisEnabled.value
797
+ };
798
+ }
799
+ return column;
800
+ });
801
+ });
802
+
803
+ const params = reactive({
804
+ userName: '',
805
+ loginId: '',
806
+ ouName: ''
807
+ });
808
+ // tableSource 具备以下属性: { dataSource, pageSize, current, total, loading, refresh, onTableChange }
809
+ // 需要双向绑定时,要解构获取
810
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
811
+ pageSize: 10, // 默认就是10
812
+ idField: 'userGuid',
813
+ columns: columnList2,
814
+ params
815
+ });
816
+ </script>
817
+ ```
818
+
819
+ ## 冻结操作列
820
+
821
+ 支持通过 `column.fixed` 冻结列,移动端只支持冻结 `column.key`值为 `action` 的操作列。
822
+
823
+ ```html
824
+ <template>
825
+ <e-table-m :dataSource="dataSource1" :columns="columnList3" height="100%"></e-table-m>
826
+ </template>
827
+ <script lang="ts" setup>
828
+ import { reactive } from 'vue';
829
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
830
+
831
+ const columnList3: Record<string, any>[] = [
832
+ { dataIndex: 'itemName', title: '事项名称', width: 100 },
833
+ { dataIndex: 'ouName', title: '所在部门', width: 100 },
834
+ { dataIndex: 'date', title: '办理时间', width: 100 },
835
+ {
836
+ title: '操作',
837
+ key: 'action',
838
+ fixed: true,
839
+ width: 80
840
+ }
841
+ ];
842
+
843
+ const params = reactive({
844
+ userName: '',
845
+ loginId: '',
846
+ ouName: ''
847
+ });
848
+ // tableSource 具备以下属性: { dataSource, pageSize, current, total, loading, refresh, onTableChange }
849
+ // 需要双向绑定时,要解构获取
850
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
851
+ pageSize: 10, // 默认就是10
852
+ idField: 'userGuid',
853
+ columns: columnList3,
854
+ params
855
+ });
856
+ </script>
857
+ ```
858
+
859
+ ## 行列合并
860
+
861
+ 表头只支持列合并,使用 `column` 里的 `colSpan` 进行设置。 表体支持行/列合并,通过 `customCell` 返回单元格属性 `colSpan` 或者 `rowSpan`。
862
+
863
+ 注意:一个列配置 `colspan`,后续相关列为 0。即如果需要合并第一、第二、第三列,则在起始列第一列 设置 `colSpan` 为 `3`,在第二、第三列设置 `colSpan` 为 `0`;而不是在 第一列设置 `0`,第二列设置 `3`,第三列设置 `0`。
864
+
865
+ ```html
866
+ <template>
867
+ <e-table-m
868
+ :dataSource="dataSource1"
869
+ :columns="columnList4"
870
+ borderStyle="full"
871
+ :stripe="false"
872
+ height="100%"
873
+ ></e-table-m>
874
+ </template>
875
+ <script lang="ts" setup>
876
+ import { reactive } from 'vue';
877
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
878
+
879
+ const sharedOnCell = (_, index) => {
880
+ if (index >= 4) {
881
+ return { colSpan: 0 };
882
+ }
883
+ };
884
+ const columnList4: Record<string, any>[] = [
885
+ {
886
+ dataIndex: 'itemName',
887
+ title: '事项名称',
888
+ width: 100,
889
+ customCell: (_, index) => ({
890
+ colSpan: index < 4 ? 1 : 5
891
+ })
892
+ },
893
+ { dataIndex: 'ouName', title: '所在部门', width: 100, customCell: sharedOnCell },
894
+ {
895
+ dataIndex: 'date',
896
+ title: '办理时间',
897
+ colSpan: 2,
898
+ width: 100,
899
+ customCell: (_, index) => {
900
+ if (index === 2) {
901
+ return { rowSpan: 2 };
902
+ }
903
+ if (index === 3) {
904
+ return { rowSpan: 0 };
905
+ }
906
+ if (index >= 4) {
907
+ return { colSpan: 0 };
908
+ }
909
+ }
910
+ },
911
+ {
912
+ dataIndex: 'schedule',
913
+ title: '预约时间',
914
+ colSpan: 0,
915
+ width: 100,
916
+ customCell: sharedOnCell
917
+ },
918
+ {
919
+ dataIndex: 'age',
920
+ title: '年龄',
921
+ width: 100,
922
+ customCell: sharedOnCell
923
+ }
924
+ ];
925
+
926
+ const params = reactive({
927
+ userName: '',
928
+ loginId: '',
929
+ ouName: ''
930
+ });
931
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
932
+ pageSize: 10, // 默认就是10
933
+ idField: 'userGuid',
934
+ columns: columnList4,
935
+ params
936
+ });
937
+ </script>
938
+ ```
939
+
940
+ ## 隐藏列
941
+
942
+ 使用 `column.hidden` 隐藏列。
943
+
944
+ ```html
945
+ <template>
946
+ <e-button-m
947
+ v-for="(item, index) in columnList6"
948
+ :key="index"
949
+ :type="item.hidden ? 'default' : 'primary'"
950
+ @click="changeVisible(item)"
951
+ >
952
+ {{ item.title }}
953
+ </e-button-m>
954
+ <e-table-m
955
+ :dataSource="dataSource1"
956
+ :columns="columnList6"
957
+ borderStyle="full"
958
+ :stripe="false"
959
+ height="calc(100% - 40px)"
960
+ ></e-table-m>
961
+ </template>
962
+ <script lang="ts" setup>
963
+ import { reactive } from 'vue';
964
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
965
+
966
+ const changeVisible = (item) => {
967
+ item.hidden = !item.hidden;
968
+ };
969
+ const columnList6: Ref<Record<string, any>[]> = ref([
970
+ { dataIndex: 'itemName', title: '事项名称', width: 100, hidden: false },
971
+ { dataIndex: 'ouName', title: '所在部门', width: 100, hidden: false },
972
+ { dataIndex: 'date', title: '办理时间', width: 100, hidden: false },
973
+ {
974
+ title: '操作',
975
+ key: 'action',
976
+ width: 80,
977
+ fixed: true,
978
+ hidden: false
979
+ }
980
+ ]);
981
+
982
+ const params = reactive({
983
+ userName: '',
984
+ loginId: '',
985
+ ouName: ''
986
+ });
987
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
988
+ pageSize: 10, // 默认就是10
989
+ idField: 'userGuid',
990
+ columns: columnList4,
991
+ params
992
+ });
993
+ </script>
994
+ ```
995
+
996
+ ## 表头分组
997
+
998
+ `columns[n]` 可以内嵌 `children`,以渲染分组表头。
999
+
1000
+ ```html
1001
+ <template>
1002
+ <e-table-m
1003
+ :dataSource="dataSource1"
1004
+ borderStyle="full"
1005
+ :stripe="false"
1006
+ :columns="columnList5"
1007
+ height="100%"
1008
+ ></e-table-m>
1009
+ </template>
1010
+ <script lang="ts" setup>
1011
+ import { reactive } from 'vue';
1012
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
1013
+
1014
+ const columnList5: Record<string, any>[] = [
1015
+ { dataIndex: 'itemName', title: '事项名称', width: 100 },
1016
+ {
1017
+ title: '其他信息',
1018
+ children: [
1019
+ { dataIndex: 'ouName', title: '所在部门', width: 100 },
1020
+ {
1021
+ title: '时间',
1022
+ width: 100,
1023
+ children: [
1024
+ { dataIndex: 'date', title: '办理时间' },
1025
+ {
1026
+ dataIndex: 'schedule',
1027
+ title: '预约时间'
1028
+ }
1029
+ ]
1030
+ }
1031
+ ]
1032
+ },
1033
+ {
1034
+ title: '状态',
1035
+ children: [
1036
+ { dataIndex: 'age', title: '年龄', width: 100 },
1037
+ {
1038
+ title: '进度',
1039
+ dataIndex: 'status',
1040
+ width: 100
1041
+ }
1042
+ ]
1043
+ },
1044
+ {
1045
+ title: '操作',
1046
+ key: 'action',
1047
+ fixed: true,
1048
+ width: 80
1049
+ }
1050
+ ];
1051
+
1052
+ const params = reactive({
1053
+ userName: '',
1054
+ loginId: '',
1055
+ ouName: ''
1056
+ });
1057
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
1058
+ pageSize: 10, // 默认就是10
1059
+ idField: 'userGuid',
1060
+ columns: columnList4,
1061
+ params
1062
+ });
1063
+ </script>
1064
+ ```
1065
+
1066
+ ## 批处理
1067
+
1068
+ 可设置 `rowSelection` 开启选择列。
1069
+
1070
+ `rowSelection.selectedRowKeys` 可完全控制选择列选中状态,需配合 `rowSelection.onChange` 使用。
1071
+
1072
+ ```html
1073
+ <template>
1074
+ <e-table-m
1075
+ rowKey="userGuid"
1076
+ :columns="columnList1"
1077
+ :data-source="dataSource1"
1078
+ height="100%"
1079
+ :row-selection="rowSelection"
1080
+ ></e-table-m>
1081
+ </template>
1082
+ <script lang="ts" setup>
1083
+ import { reactive } from 'vue';
1084
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
1085
+
1086
+ const columnList1: Record<string, any>[] = [
1087
+ { key: 'itemName', dataIndex: 'itemName', title: '事项名称', width: 100 },
1088
+ { key: 'ouName', dataIndex: 'ouName', title: '所在部门', width: 100 },
1089
+ {
1090
+ key: 'date',
1091
+ dataIndex: 'date',
1092
+ title: '办理时间',
1093
+ width: 100
1094
+ },
1095
+ {
1096
+ title: '操作',
1097
+ key: 'action',
1098
+ width: 80
1099
+ }
1100
+ ];
1101
+ const params = reactive({
1102
+ userName: '',
1103
+ loginId: '',
1104
+ ouName: ''
1105
+ });
1106
+ // tableSource 具备以下属性: { dataSource, pageSize, current, total, loading, refresh, onTableChange }
1107
+ // 需要双向绑定时,要解构获取
1108
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
1109
+ pageSize: 10, // 默认就是10
1110
+ idField: 'userGuid',
1111
+ columns: columnList1,
1112
+ params
1113
+ });
1114
+ const rowSelection = reactive({
1115
+ selectedRowKeys: [],
1116
+ onChange: (selectedRowKeys: string[], selectedRows: Record<string, any>[]) => {
1117
+ rowSelection.selectedRowKeys = selectedRowKeys;
1118
+ console.log(`选中的行键值: ${rowSelection.selectedRowKeys}`, '选中的行数据: ', selectedRows);
1119
+ },
1120
+ getCheckboxProps: (record: Record<string, any>) => ({
1121
+ disabled: record.itemName === '我是事项1' // 配置不可选中的列
1122
+ })
1123
+ });
1124
+ </script>
1125
+ ```
1126
+
1127
+ ## 渲染 HTML
1128
+
1129
+ 通过列配置项的 `allowHtml` 属性可以控制单元格对于 HTML 字符串的渲染行为。
1130
+
1131
+ ```html
1132
+ <template>
1133
+ <e-table-m :dataSource="data" :columns="columnList10" height="100%"></e-table-m>
1134
+ </template>
1135
+ <script lang="ts" setup>
1136
+ const columnList10 = [
1137
+ {
1138
+ title: '姓名',
1139
+ dataIndex: 'name',
1140
+ width: 200,
1141
+ allowHtml: 'text'
1142
+ },
1143
+ {
1144
+ title: '性别',
1145
+ dataIndex: 'sex',
1146
+ width: 200,
1147
+ allowHtml: 'html'
1148
+ },
1149
+ {
1150
+ title: '地址',
1151
+ dataIndex: 'address',
1152
+ width: 200,
1153
+ allowHtml: 'decodeHtml'
1154
+ }
1155
+ ];
1156
+ const data = [
1157
+ {
1158
+ key: '1',
1159
+ name: '<span style="color: red">张三</span>',
1160
+ sex: '<span style="color: red">女</span>',
1161
+ address: '<span style="color: red">纽约第一湖公园</span>'
1162
+ },
1163
+ {
1164
+ key: '2',
1165
+ name: '&lt;span style=&quot;color: red&quot;&gt;李四&lt;/span&gt;',
1166
+ sex: '&lt;span style=&quot;color: red&quot;&gt;男&lt;/span&gt;',
1167
+ address: '&lt;span style=&quot;color: red&quot;&gt;伦敦第一湖公园&lt;/span&gt;'
1168
+ },
1169
+ {
1170
+ key: '3',
1171
+ name: '王五',
1172
+ sex: '男',
1173
+ address: '悉尼第一湖公园'
1174
+ }
1175
+ ];
1176
+ </script>
1177
+ ```
1178
+
1179
+ ## 自定义表头 cell
1180
+
1181
+ 你可以通过 colunm 配置给表头中添加必填和帮助提示的标记,通过 headerCell 插槽自定义额外内容。
1182
+
1183
+ ```html
1184
+ <template>
1185
+ <e-table-m :dataSource="dataSource1" :columns="columnList11" height="100%">
1186
+ <template #headerCell="{ column }">
1187
+ <template v-if="column.key === 'action'">
1188
+ <span>
1189
+ <e-icon-m name="Sunny"></e-icon-m>
1190
+ 更多
1191
+ </span>
1192
+ </template>
1193
+ </template>
1194
+ </e-table-m>
1195
+ </template>
1196
+ <script lang="ts" setup>
1197
+ import { reactive } from 'vue';
1198
+ import { useTableDataSource } from '@epoint-fe/eui-hooks';
1199
+
1200
+ const columnList11: Record<string, any>[] = [
1201
+ {
1202
+ key: 'itemName',
1203
+ dataIndex: 'itemName',
1204
+ title: '事项名称',
1205
+ width: 100,
1206
+ required: true,
1207
+ tooltip: '请输入事项名称'
1208
+ },
1209
+ {
1210
+ key: 'ouName',
1211
+ dataIndex: 'ouName',
1212
+ title: '所在部门',
1213
+ width: 100,
1214
+ tooltip: {
1215
+ content: '<span style="color: var(--e-color-danger)">请输入所在部门</span>',
1216
+ placement: 'left',
1217
+ effect: 'light',
1218
+ rawContent: true,
1219
+ showArrow: false
1220
+ },
1221
+ editor: {
1222
+ type: 'input',
1223
+ props: {}
1224
+ },
1225
+ rules: [{ required: true, message: '请输入所在部门' }]
1226
+ },
1227
+ {
1228
+ key: 'date',
1229
+ dataIndex: 'date',
1230
+ title: '办理时间',
1231
+ width: 100,
1232
+ tooltip: '请输入办理时间',
1233
+ rules: [
1234
+ { type: 'required', message: '请输入办理时间' },
1235
+ { type: 'date', message: '请输入正确的办理时间' }
1236
+ ]
1237
+ },
1238
+ {
1239
+ title: '操作',
1240
+ key: 'action',
1241
+ width: 80
1242
+ }
1243
+ ];
1244
+
1245
+ const params = reactive({
1246
+ userName: '',
1247
+ loginId: '',
1248
+ ouName: ''
1249
+ });
1250
+ const { dataSource: dataSource1 } = useTableDataSource('/frameaction/getDataGridDataAll', {
1251
+ pageSize: 10, // 默认就是10
1252
+ idField: 'userGuid',
1253
+ columns: columnList11,
1254
+ params
1255
+ });
1256
+ </script>
1257
+ ```
1258
+
1259
+ ## Table API
1260
+
1261
+ ### Table Attributes
1262
+
1263
+ | 属性 | 描述 | 类型 | 默认值 |
1264
+ | :----------------- | :---------------------------------------------------------- | :---------------------------------------- | :----------------------- |
1265
+ | borderStyle | 控制表格的边框类型 | `enum`-`'none' \| 'horizontal' \| 'full'` | `none` |
1266
+ | columns | 表格列的配置描述,具体项见下表 | `array` | [] |
1267
+ | dataSource | 数据数组 | `object[]` | - |
1268
+ | loading | 页面是否加载中 | `boolean \| LoadingProps` | `false` |
1269
+ | locale | 默认文案设置,目前包括空数据文案 | `object` | { emptyText: '暂无数据'} |
1270
+ | pagination | 分页器,参考 pagination 文档,设为 false 时不展示和进行分页 | `PaginationProps \| boolean` | `true` |
1271
+ | rowClassName | 表格行的类名 | `Function(record, index):string` | — |
1272
+ | stripe | 是否显示斑马纹 | `boolean` | `true` |
1273
+ | rowKey | 表格行 key 的取值,可以是字符串或一个函数 | `string\|Function(record):string` | `key` |
1274
+ | showHeader | 是否显示表头 | `boolean` | `true` |
1275
+ | size | 表格大小 | `large \| default \| small` | `default` |
1276
+ | sticky | 设置粘性头部 | `boolean` | `true` |
1277
+ | title | 表格标题,会展示在行数据详情弹窗顶部 | `Function(currRowData) => string` | - |
1278
+ | rowHeight | 行高,单位 px | `string \| number` | `44` |
1279
+ | editable | 表格是否开启行编辑,设为 true 时表格内容除了操作列都可编辑 | `boolean` | `false` |
1280
+ | showDetail | 不可编辑情况下,点击行是否弹窗展示行数据详情 | `boolean` | `false` |
1281
+ | rowSelection | 列表项是否可选择,具体配置项见以下说明 | `object` | `null` |
1282
+ | getFormProps | 自定义每行表单属性,支持属性参考`ep-form`文档说明 | `(record) => FormProps` | `-` |
1283
+ | getFormItemProps | 自定义每个表单项属性,支持属性参考`ep-form-item`文档说明 | `(record, column) => FormItemProps` | `-` |
1284
+ | indexColumn | 序号列配置 | `boolean \| IndexColumn` | `false` |
1285
+ | showDetailPageTurn | 弹窗时右上角是否展示翻页 | `boolean` | `true` |
1286
+
1287
+ #### Column
1288
+
1289
+ 列描述数据对象,是 columns 中的一项,Column 使用相同的 API。
1290
+
1291
+ | Name | Description | Type | Default |
1292
+ | :--------------- | :------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------- | :-------------------------------- |
1293
+ | align | 设置列的对齐方式 | `left \| right \| center` | `center` |
1294
+ | allowHtml | 是否允许直接渲染数据中的 HTML 字符串。详见 AllowHtml | `boolean \| 'text' \| 'html' \| 'decodeHtml'` | `false` |
1295
+ | colSpan | 表头列合并,设置为 0 时,不渲染 | `number` | - |
1296
+ | customCell | 设置单元格属性 | `(record, rowIndex, column) => { colSpan?: number; rowSpan?: number; }` | - |
1297
+ | customHeaderCell | 设置头部单元格属性,仅支持设置 align | `(column) => { align?: left \| right \| center; }` | - |
1298
+ | dataIndex | 列数据在数据项中对应的路径,支持通过数组查询嵌套路径 | `string \| string[]` | - |
1299
+ | ellipsis | 设置为 true 或 { showTitle?: boolean } 时,超过宽度将自动省略。暂不支持和排序筛选一起使用。 | `boolean \| { showTitle?: boolean }` | `false` |
1300
+ | fixed | 列是否固定,移动端只能固定操作列 | `boolean` | `false` |
1301
+ | hidden | 列是否隐藏 | `boolean` | `false` |
1302
+ | key | Vue 需要的 key,如果已经设置了唯一的 dataIndex,可以忽略这个属性 | `string` | - |
1303
+ | title | 列头显示文字 | `string` | - |
1304
+ | width | 列宽度,建议设置,否则按照列数量计算列平均宽度 | `string \| number` | `-` |
1305
+ | required | 此列是否标记为必填, 一旦设置会以设置优先,未设置会尝试查找列的校验规则中是否存在必填规则 | `boolean` | - |
1306
+ | tooltip | 此列表头中显示的 tooltip 帮助提示信息 | `string \| TooltipProps` | - |
1307
+ | rules | 此列表单校验规则 | `FormItemRule[]` | - |
1308
+ | disabled | 编辑模式下此列是否禁用 | `boolean` | - |
1309
+ | editor | 用于配置行详情弹窗中列使用的表单组件,当前仅支持 `editor.type = 'ep-input'` | `object` - `{ type: string, props: object }` | `{ type: 'ep-input', props: {} }` |
1310
+
1311
+ #### AllowHtml
1312
+
1313
+ 控制表格当前列中内容的渲染方式是否允许 html 展示,可选值为:
1314
+
1315
+ - text: 以纯文本形式展示,不渲染 HTML。
1316
+ - html: 直接渲染 HTML。
1317
+ - decodeHtml:先还原转义字符,再渲染 HTML。
1318
+ - 也可设置成 boolean 值,false 等价于 text,true 等价于 html
1319
+
1320
+ 注意:如果你自定义了列的渲染,此属性不会生效。
1321
+
1322
+ #### rowSelection 说明
1323
+
1324
+ | Name | Description | Type | Default |
1325
+ | :--------------- | :---------------------------------------------- | :---------------------------------------------------- | :------- |
1326
+ | columnTitle | 自定义列表选择框标题 | string | - |
1327
+ | columnWidth | 自定义列表选择框宽度 | string\|number | - |
1328
+ | fixed | 把选择框列固定在左边 | boolean | - |
1329
+ | getCheckboxProps | 选择框的默认属性配置 | Function(record) | - |
1330
+ | hideSelectAll | 隐藏全选勾选框与自定义选择项 | boolean | false |
1331
+ | selectedRowKeys | 指定选中项的 key 数组,需要和 onChange 进行配合 | string[] | [] |
1332
+ | type | 多选/单选,checkbox or radio | string | checkbox |
1333
+ | onChange | 选中项发生变化时的回调 | Function(selectedRowKeys, selectedRows) | - |
1334
+ | onSelect | 用户手动选择/取消选择某列的回调 | Function(record, selected, selectedRows, nativeEvent) | - |
1335
+ | onSelectAll | 用户手动选择/取消选择所有列的回调 | Function(selected, selectedRows, changeRows) | - |
1336
+
1337
+ #### IndexColumn 说明
1338
+
1339
+ | Name | Description | Type | Default |
1340
+ | :-------- | :--------------- | :---------------------------------------------------------------------------------------------------- | :------- |
1341
+ | width | 宽度 | number \| string | `50` |
1342
+ | align | 对齐方式 | 'left' \| 'center' \| 'right' | 'center' |
1343
+ | title | 标题 | string | 序号 |
1344
+ | formatter | 序号列格式化方法 | Function(index: number(在当前页的索引), pagination: { current: number, pageSize: number}) => string | - |
1345
+
1346
+ ### Table Events
1347
+
1348
+ | 名称 | 描述 | 类型 |
1349
+ | :------------ | :--------------------------------------- | :----------------------------------------------------------- |
1350
+ | change | 分页变化时触发 | `Function(pagination: { current: number, pageSize: number})` |
1351
+ | click-action | 点击默认行操作列时触发,事件传参为行数据 | `Function(record)` |
1352
+ | click-row | 点击行时触发,事件传参为行数据 | `Function(record)` |
1353
+ | click-overlay | 点击行弹窗的遮罩时触发 | `Function()` |
1354
+
1355
+ ### Table Slots
1356
+
1357
+ | 名称 | 描述 | 参数 |
1358
+ | :--------- | :----------------------------------------------------------- | :------------------------------------------------------- |
1359
+ | bodyCell | 个性化单元格 | {text, record, index(当前页的行索引,从 0 开始), column} |
1360
+ | emptyText | 自定义空数据时的显示内容 | - |
1361
+ | footer | 表格尾部 | currentPageData |
1362
+ | headerCell | 个性化头部单元格 | {title, column} |
1363
+ | title | 表格标题 | currentPageData |
1364
+ | toolbar | 工具栏插槽 | - |
1365
+ | editor | 详情弹窗中列的自定义内容,替换 `ep-form-item` 的默认插槽内容 | { colunm, record, editable } |
1366
+ | form | 详情弹窗中的自定义表单,替换整体`ep-form` | { record, editable } |
1367
+ | extra | 分页和表格之间的自定义内容 | - |
1368
+
1369
+ ### Table Exposes
1370
+
1371
+ | Name | Description | Type |
1372
+ | :-------------- | :------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------- |
1373
+ | add | 新增一条数据,可传一条新数据模板,也可传新增数据的索引位置 (仅用于修改弹窗展示样式,实际数据根据 `dataSource` 展示) | `(newRow?: RecordType, index?: number) => void` |
1374
+ | toggleEdit | 切换某行数据是否为编辑模式 | `(flag?: boolean, rowKey?: string) => void` |
1375
+ | getRowData | 获取某行数据,不传 rowKey 时获取当前弹窗数据 | `(rowKey?: string) => record` |
1376
+ | getCurrRowIndex | 获取当前弹窗展示的行数据的索引 | `() => number` |
1377
+ | toggleExpandRow | 切换行详情弹窗显隐,可传一个布尔值指定弹窗显隐,也可同时传一个具体的行数据进行展示 | `(flag?: boolean, rowData?: Record<string, any>) => void` |
1378
+ | validateRow | 用于编辑模式下校验弹窗的行数据表单 | `() => Promise<{ valid, fields }>` |
1379
+ | getFormRef | 获取当前弹窗的行数据表单组件 | `() => FormInstance` |
1380
+ | prev | 行详情跳转上一条数据 | `() => void` |
1381
+ | next | 行详情跳转下一条数据 | `() => void` |
1382
+ | resize | 重新获取列宽 | `() => void` |
1383
+
1384
+ ### 注意 ​
1385
+
1386
+ 在 Table 中,dataSource 和 columns 里的数据值都需要指定 key 值。对于 dataSource 默认将每列数据的 key 属性作为唯一的标识。
1387
+
1388
+ 如果你的数据没有这个属性,务必使用 rowKey 来指定数据列的主键。若没有指定,控制台会出现缺少 key 的提示,表格组件也会出现各类奇怪的错误。
1389
+
1390
+ ```html
1391
+ <!-- 比如你的数据主键是 uid -->
1392
+ <e-table-m rowKey="uid" />
1393
+ ```
1394
+
1395
+ ::: ifdef M84
1396
+ <iframe
1397
+ src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/epshowcase/examples/e-table-m"
1398
+ frameborder=0
1399
+ allowfullscreen class="ui-showcase-iframe">
1400
+ </iframe>
1401
+ ::: endif
1402
+
1403
+ <style>
1404
+ .ui-showcase-iframe {
1405
+ position: fixed;
1406
+ right: 3.5vw;
1407
+ top: 17%;
1408
+ width: 375px;
1409
+ height: 75vh;
1410
+ box-shadow: 0 0 12px 6px #eee;
1411
+ border-radius: 15px;
1412
+ }
1413
+ .main .markdown-body {
1414
+ padding: 45px;
1415
+ width: calc(97vw - 661px);
1416
+ }
1417
+ </style>