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,1567 @@
1
+ # Tree
2
+
3
+ 对于文件夹、分类目录、组织架构等层级较多的内容,树可以清楚显示他们的层级关系,并具有展开、收起、选择等交互功能。
4
+
5
+ ## 跨端兼容说明
6
+
7
+ Tree 组件支持 H5 和小程序跨端使用:
8
+
9
+ - **H5 环境**:支持文档所有功能
10
+ - **小程序环境**:支持核心功能,h 渲染函数相关功能不支持,建议使用插槽方式自定义图标
11
+
12
+ 涉及 h 渲染函数的功能(如 `typeIcon`、`icon`、`loadingIcon` 等)仅在 H5 环境下可用。
13
+
14
+ ## 基本用法
15
+
16
+ 为每个节点赋予全局唯一的 `value`(必填项),`label` 为该节点显示的内容。
17
+
18
+ ```html
19
+ <template>
20
+ <e-tree-m
21
+ :data="treeData"
22
+ :default-expanded-keys="['0-0-0']"
23
+ :default-selected-keys="['0-1-1-2']"
24
+ @select="handleSelect"
25
+ />
26
+ </template>
27
+
28
+ <script lang="ts" setup>
29
+ const treeData = [
30
+ {
31
+ label: "Trunk 0-0",
32
+ value: "0-0",
33
+ children: [
34
+ {
35
+ label: "Leaf",
36
+ value: "0-0-1",
37
+ },
38
+ {
39
+ label: "Branch 0-0-2",
40
+ value: "0-0-2",
41
+ disabled: true,
42
+ children: [
43
+ {
44
+ label: "Leaf",
45
+ value: "0-0-2-1",
46
+ },
47
+ {
48
+ label: "Leaf",
49
+ value: "0-0-2-2",
50
+ disableCheckbox: true,
51
+ },
52
+ ],
53
+ },
54
+ ],
55
+ },
56
+ {
57
+ label: "Trunk 0-1",
58
+ value: "0-1",
59
+ children: [
60
+ {
61
+ label: "Branch 0-1-1",
62
+ value: "0-1-1",
63
+ children: [
64
+ {
65
+ label: "Leaf",
66
+ value: "0-1-1-1",
67
+ },
68
+ {
69
+ label: "Leaf",
70
+ value: "0-1-1-2",
71
+ },
72
+ ],
73
+ },
74
+ {
75
+ label: "Leaf",
76
+ value: "0-1-2",
77
+ },
78
+ ],
79
+ },
80
+ ];
81
+
82
+ const handleSelect = (selectedKeys, eventData) => {
83
+ console.log("选中节点:", selectedKeys, eventData);
84
+ };
85
+ </script>
86
+ ```
87
+
88
+ ## 带单选框的树
89
+
90
+ 为 `Tree` 添加 `checkable` 属性,并设置 `multiple` 属性为 `false`(默认值),即可使树具有单选框功能。
91
+
92
+ ```html
93
+ <template>
94
+ <e-tree-m
95
+ v-model:checked-keys="checkedKeys"
96
+ :checkable="true"
97
+ :multiple="false"
98
+ :data="treeData"
99
+ />
100
+ </template>
101
+
102
+ <script lang="ts" setup>
103
+ import { ref } from "vue";
104
+
105
+ const checkedKeys = ref([]);
106
+ const treeData = [
107
+ {
108
+ label: "Trunk 0-0",
109
+ value: "0-0",
110
+ children: [
111
+ {
112
+ label: "Leaf",
113
+ value: "0-0-1",
114
+ },
115
+ {
116
+ label: "Branch 0-0-2",
117
+ value: "0-0-2",
118
+ disabled: true,
119
+ children: [
120
+ {
121
+ label: "Leaf",
122
+ value: "0-0-2-1",
123
+ },
124
+ {
125
+ label: "Leaf",
126
+ value: "0-0-2-2",
127
+ disableCheckbox: true,
128
+ },
129
+ ],
130
+ },
131
+ ],
132
+ },
133
+ {
134
+ label: "Trunk 0-1",
135
+ value: "0-1",
136
+ children: [
137
+ {
138
+ label: "Branch 0-1-1",
139
+ value: "0-1-1",
140
+ children: [
141
+ {
142
+ label: "Leaf",
143
+ value: "0-1-1-1",
144
+ },
145
+ {
146
+ label: "Leaf",
147
+ value: "0-1-1-2",
148
+ },
149
+ ],
150
+ },
151
+ {
152
+ label: "Leaf",
153
+ value: "0-1-2",
154
+ },
155
+ ],
156
+ },
157
+ ];
158
+ </script>
159
+ ```
160
+
161
+ ## 带复选框的树
162
+
163
+ 为 `Tree` 添加 `checkable` 属性,并设置 `multiple` 属性为 `true`,即可使树具有复选框功能
164
+
165
+ ```html
166
+ <template>
167
+ <div class="example-flex">
168
+ <e-checkbox-m v-model="checkStrictly">checkStrictly</e-checkbox-m>
169
+ </div>
170
+ <e-tree-m
171
+ v-model:checked-keys="checkedKeys"
172
+ :checkable="true"
173
+ :multiple="true"
174
+ :check-strictly="checkStrictly"
175
+ :data="treeData"
176
+ />
177
+ </template>
178
+
179
+ <script lang="ts" setup>
180
+ const checkedKeys = ref([]);
181
+ const checkStrictly = ref(false);
182
+ const treeData = [
183
+ {
184
+ label: "Trunk 0-0",
185
+ value: "0-0",
186
+ children: [
187
+ {
188
+ label: "Leaf",
189
+ value: "0-0-1",
190
+ },
191
+ {
192
+ label: "Branch 0-0-2",
193
+ value: "0-0-2",
194
+ disabled: true,
195
+ children: [
196
+ {
197
+ label: "Leaf",
198
+ value: "0-0-2-1",
199
+ },
200
+ {
201
+ label: "Leaf",
202
+ value: "0-0-2-2",
203
+ disableCheckbox: true,
204
+ },
205
+ ],
206
+ },
207
+ ],
208
+ },
209
+ {
210
+ label: "Trunk 0-1",
211
+ value: "0-1",
212
+ children: [
213
+ {
214
+ label: "Branch 0-1-1",
215
+ value: "0-1-1",
216
+ children: [
217
+ {
218
+ label: "Leaf",
219
+ value: "0-1-1-1",
220
+ },
221
+ {
222
+ label: "Leaf",
223
+ value: "0-1-1-2",
224
+ },
225
+ ],
226
+ },
227
+ {
228
+ label: "Leaf",
229
+ value: "0-1-2",
230
+ },
231
+ ],
232
+ },
233
+ ];
234
+ </script>
235
+ ```
236
+
237
+ ## 双向绑定示例
238
+
239
+ 树组件的 `selectedKeys`、`checkedKeys`、`expandedKeys` 属性均支持双向绑定,可以通过 `v-model` 或在对应的事件中自行控制属性值。
240
+
241
+ ```html
242
+ <template>
243
+ <div>
244
+ <e-button-m type="primary" @click="toggleChecked"
245
+ >{{ isAllNodesChecked ? '取消全选' : '全选' }}</e-button-m
246
+ >
247
+ <e-tree-m
248
+ v-model:selected-keys="selectedKeys"
249
+ v-model:checked-keys="checkedKeys"
250
+ v-model:expanded-keys="expandedKeys"
251
+ :checkable="true"
252
+ :multiple="true"
253
+ :data="treeData"
254
+ :check-strictly="false"
255
+ @select="onSelect"
256
+ @check="onCheck"
257
+ @expand="onExpand"
258
+ />
259
+ </div>
260
+ </template>
261
+
262
+ <script lang="ts" setup>
263
+ import { ref, computed } from "vue";
264
+
265
+ const selectedKeys = ref<string[]>([]);
266
+ const checkedKeys = ref<string[]>([]);
267
+ const expandedKeys = ref<string[]>([]);
268
+
269
+ // 所有可选中的节点键值(排除禁用节点和禁用复选框的节点及其子节点)
270
+ const allCheckedKeys = [
271
+ "0-0",
272
+ "0-0-1",
273
+ "0-1",
274
+ "0-1-1",
275
+ "0-1-1-1",
276
+ "0-1-1-2",
277
+ "0-1-2",
278
+ // 注意:排除了 '0-0-2'(disabled), '0-0-2-1', '0-0-2-2'(disableCheckbox)
279
+ ];
280
+
281
+ // 计算是否所有节点都被选中
282
+ const isAllNodesChecked = computed(() => {
283
+ return (
284
+ checkedKeys.value.length === allCheckedKeys.length &&
285
+ allCheckedKeys.every((key) => checkedKeys.value.includes(key))
286
+ );
287
+ });
288
+
289
+ // 切换全选/取消全选
290
+ const toggleChecked = () => {
291
+ checkedKeys.value = isAllNodesChecked.value ? [] : allCheckedKeys;
292
+ };
293
+
294
+ // 事件处理函数
295
+ const onSelect = (newSelectedKeys, event) => {
296
+ console.log("select:", newSelectedKeys, event);
297
+ // 这里可以自行控制如何更新selectedKeys
298
+ // selectedKeys.value = newSelectedKeys;
299
+ };
300
+
301
+ const onCheck = (newCheckedKeys, event) => {
302
+ console.log("check:", newCheckedKeys, event);
303
+ // 这里可以自行控制如何更新checkedKeys
304
+ // checkedKeys.value = newCheckedKeys;
305
+ };
306
+
307
+ const onExpand = (newExpandedKeys, event) => {
308
+ console.log("expand:", newExpandedKeys, event);
309
+ // 这里可以自行控制如何更新expandedKeys
310
+ // expandedKeys.value = newExpandedKeys;
311
+ };
312
+
313
+ const treeData = [
314
+ {
315
+ label: "Trunk 0-0",
316
+ value: "0-0",
317
+ children: [
318
+ {
319
+ label: "Leaf 0-0-1",
320
+ value: "0-0-1",
321
+ },
322
+ {
323
+ label: "Branch 0-0-2",
324
+ value: "0-0-2",
325
+ disabled: true,
326
+ children: [
327
+ {
328
+ label: "Leaf 0-0-2-1",
329
+ value: "0-0-2-1",
330
+ },
331
+ {
332
+ label: "Leaf 0-0-2-2",
333
+ value: "0-0-2-2",
334
+ disableCheckbox: true,
335
+ },
336
+ ],
337
+ },
338
+ ],
339
+ },
340
+ {
341
+ label: "Trunk 0-1",
342
+ value: "0-1",
343
+ children: [
344
+ {
345
+ label: "Leaf 0-1-1",
346
+ value: "0-1-1",
347
+ children: [
348
+ {
349
+ label: "Leaf 0-1-1-1",
350
+ value: "0-1-1-1",
351
+ },
352
+ {
353
+ label: "Leaf 0-1-1-2",
354
+ value: "0-1-1-2",
355
+ },
356
+ ],
357
+ },
358
+ {
359
+ label: "Leaf 0-1-2",
360
+ value: "0-1-2",
361
+ },
362
+ ],
363
+ },
364
+ ];
365
+ </script>
366
+ ```
367
+
368
+ ## 设置回填方式
369
+
370
+ 为 `Tree` 添加 `checked-strategy` 属性可以设置选中时的回填方式。
371
+
372
+ ```html
373
+ <template>
374
+ <div>
375
+ <e-radio-group-m v-model="checkedStrategy" type="button">
376
+ <e-radio-m value="all">show all</e-radio-m>
377
+ <e-radio-m value="parent">show parent</e-radio-m>
378
+ <e-radio-m value="child">show child</e-radio-m>
379
+ </e-radio-group-m>
380
+ <e-tree-m
381
+ v-model:checked-keys="checkedKeys"
382
+ :checkable="true"
383
+ :multiple="true"
384
+ :checked-strategy="checkedStrategy"
385
+ :data="treeData"
386
+ />
387
+ </div>
388
+ </template>
389
+
390
+ <script lang="ts" setup>
391
+ import { ref } from "vue";
392
+
393
+ const checkedKeys = ref([]);
394
+ const checkedStrategy = ref("all");
395
+ const treeData = [
396
+ {
397
+ label: "Trunk 0-0",
398
+ value: "0-0",
399
+ children: [
400
+ {
401
+ label: "Leaf",
402
+ value: "0-0-1",
403
+ },
404
+ {
405
+ label: "Branch 0-0-2",
406
+ value: "0-0-2",
407
+ disabled: true,
408
+ children: [
409
+ {
410
+ label: "Leaf",
411
+ value: "0-0-2-1",
412
+ },
413
+ {
414
+ label: "Leaf",
415
+ value: "0-0-2-2",
416
+ disableCheckbox: true,
417
+ },
418
+ ],
419
+ },
420
+ ],
421
+ },
422
+ {
423
+ label: "Trunk 0-1",
424
+ value: "0-1",
425
+ children: [
426
+ {
427
+ label: "Branch 0-1-1",
428
+ value: "0-1-1",
429
+ children: [
430
+ {
431
+ label: "Leaf",
432
+ value: "0-1-1-1",
433
+ },
434
+ {
435
+ label: "Leaf",
436
+ value: "0-1-1-2",
437
+ },
438
+ ],
439
+ },
440
+ {
441
+ label: "Leaf",
442
+ value: "0-1-2",
443
+ },
444
+ ],
445
+ },
446
+ ];
447
+ </script>
448
+ ```
449
+
450
+ ## 定制额外节点
451
+
452
+ Tree 提供了名为 `extra` 的插槽,可以在节点上定制额外的内容。
453
+
454
+ ```html
455
+ <template>
456
+ <e-tree-m
457
+ :data="extraNodeTreeData"
458
+ :block-node="true"
459
+ :checkable="true"
460
+ :multiple="true"
461
+ >
462
+ <template #extra="nodeData">
463
+ <e-icon-m
464
+ style="color: #3370ff; margin-left: 8px"
465
+ @click="() => onIconClick(nodeData)"
466
+ >
467
+ <Plus />
468
+ </e-icon-m>
469
+ <e-icon-m
470
+ style="color: #f53f3f; margin-left: 8px"
471
+ @click="() => onIconClick(nodeData)"
472
+ >
473
+ <Minus />
474
+ </e-icon-m>
475
+ </template>
476
+ </e-tree-m>
477
+ </template>
478
+
479
+ <script lang="ts" setup>
480
+ import { ref } from "vue";
481
+ import { Plus, Minus } from "@epoint-mfe/eui-icons";
482
+
483
+ // 定制额外节点示例数据
484
+ const extraNodeTreeData = ref([
485
+ {
486
+ label: "Trunk 0-0",
487
+ value: "0-0",
488
+ children: [
489
+ {
490
+ label: "Branch 0-0-0",
491
+ value: "0-0-0",
492
+ children: [
493
+ {
494
+ label: "Leaf 0-0-0-0",
495
+ value: "0-0-0-0",
496
+ },
497
+ {
498
+ label: "Leaf 0-0-0-1",
499
+ value: "0-0-0-1",
500
+ },
501
+ ],
502
+ },
503
+ {
504
+ label: "Branch 0-0-1",
505
+ value: "0-0-1",
506
+ children: [
507
+ {
508
+ label: "Leaf 0-0-1-0",
509
+ value: "0-0-1-0",
510
+ },
511
+ ],
512
+ },
513
+ ],
514
+ },
515
+ ]);
516
+
517
+ // 添加节点处理函数
518
+ const onIconClick = (nodeData) => {
519
+ console.log("onIconClick", nodeData);
520
+ };
521
+ </script>
522
+ ```
523
+
524
+ ## 动态加载节点
525
+
526
+ 可通过 `load-more` 属性来实现节点的动态加载数据,点击展开时会显示 loading 效果。
527
+
528
+ ```html
529
+ <template>
530
+ <e-tree-m :data="treeData" :load-more="loadMore" />
531
+ </template>
532
+
533
+ <script lang="ts" setup>
534
+ import { ref } from "vue";
535
+ const treeData = ref([
536
+ {
537
+ label: "Trunk 0-0",
538
+ value: "0-0",
539
+ isLeaf: false,
540
+ },
541
+ {
542
+ label: "Trunk 0-1",
543
+ value: "0-1",
544
+ children: [
545
+ {
546
+ label: "Branch 0-1-1",
547
+ value: "0-1-1",
548
+ },
549
+ ],
550
+ },
551
+ ]);
552
+
553
+ const loadMore = (nodeData) => {
554
+ return new Promise((resolve) => {
555
+ setTimeout(() => {
556
+ nodeData.children = Array.from({
557
+ length: (Math.random() * 10 + 2) >>> 0,
558
+ })
559
+ .fill(0)
560
+ .map((_, i) => {
561
+ const n = i + 1;
562
+ return {
563
+ label: `${nodeData.label}-${n}`,
564
+ value: `${nodeData.value}-${n}`,
565
+ isLeaf: Math.random() > 0.6,
566
+ };
567
+ });
568
+ resolve("");
569
+ }, 1000);
570
+ });
571
+ };
572
+ </script>
573
+ ```
574
+
575
+ ## 定制组件图标
576
+
577
+ ### 加载中图标
578
+
579
+ `loadingIcon`,同时支持在 `tree`(插槽) 和 `node` (方法) 两个纬度上定制,其中 `node` 的优先级较高。
580
+
581
+ ```html
582
+ <template>
583
+ <div>
584
+ <e-button-m type="primary" @click="resetLoadingData">重置加载数据</e-button-m>
585
+ <e-tree-m :data="loadingTreeData" :load-more="loadMoreNodes">
586
+ <template #loading-icon="{ isLeaf, loading }">
587
+ <!-- 定制 loading 图标 -->
588
+ <!-- 使用 is-loading 类让图标旋转 -->
589
+ <e-icon-m v-if="!isLeaf && loading" class="is-loading">
590
+ <Promotion />
591
+ </e-icon-m>
592
+ </template>
593
+ </e-tree-m>
594
+ </div>
595
+ </template>
596
+
597
+ <script lang="ts" setup>
598
+ import { ref } from "vue";
599
+ // #ifdef H5
600
+ import { h } from "vue";
601
+ // #endif
602
+ import { Promotion, Loading } from "@epoint-mfe/eui-icons";
603
+
604
+ const loadingDelay = ref(2); // 加载延迟时间(秒)
605
+ const loadingTreeData = ref([
606
+ {
607
+ label: "父节点 0-0",
608
+ value: "0-0",
609
+ isLeaf: false,
610
+ children: [], // 空的children数组,表示需要动态加载
611
+ },
612
+ {
613
+ label: "父节点 0-1",
614
+ value: "0-1",
615
+ isLeaf: false,
616
+ children: [
617
+ {
618
+ label: "子节点 0-1-1",
619
+ value: "0-1-1",
620
+ isLeaf: true,
621
+ },
622
+ ],
623
+ },
624
+ {
625
+ label: "父节点 0-2 (自定义loading图标)",
626
+ value: "0-2",
627
+ isLeaf: false,
628
+ children: [],
629
+ loadingIcon: ({ loading }) => {
630
+ if (loading) {
631
+ return h(
632
+ "span",
633
+ {
634
+ class: "custom-loading-icon",
635
+ style: { color: "red" },
636
+ },
637
+ h(Loading)
638
+ );
639
+ }
640
+ return null;
641
+ },
642
+ },
643
+ ]);
644
+
645
+ // 重置加载数据
646
+ const resetLoadingData = () => {
647
+ loadingTreeData.value = [
648
+ {
649
+ label: "父节点 0-0",
650
+ value: "0-0",
651
+ isLeaf: false,
652
+ children: [],
653
+ },
654
+ {
655
+ label: "父节点 0-1",
656
+ value: "0-1",
657
+ isLeaf: false,
658
+ children: [
659
+ {
660
+ label: "子节点 0-1-1",
661
+ value: "0-1-1",
662
+ isLeaf: true,
663
+ },
664
+ ],
665
+ },
666
+ {
667
+ label: "父节点 0-2 (自定义loading图标)",
668
+ value: "0-2",
669
+ isLeaf: false,
670
+ children: [],
671
+ // #ifdef H5
672
+ loadingIcon: ({ loading }) => {
673
+ if (loading) {
674
+ return h(
675
+ "span",
676
+ {
677
+ class: "custom-loading-icon",
678
+ style: { color: "red" },
679
+ },
680
+ h(Loading)
681
+ );
682
+ }
683
+ return null;
684
+ },
685
+ // #endif
686
+ },
687
+ ];
688
+ };
689
+
690
+ // 加载更多节点的方法
691
+ const loadMoreNodes = (nodeData) => {
692
+ return new Promise<void>((resolve) => {
693
+ // 模拟加载延迟
694
+ setTimeout(() => {
695
+ // 确保为非叶子节点
696
+ nodeData.isLeaf = false;
697
+
698
+ // 创建子节点
699
+ const childCount = Math.floor(Math.random() * 3) + 2; // 2-4个子节点
700
+ const newChildren = [];
701
+
702
+ for (let i = 0; i < childCount; i++) {
703
+ const n = i + 1;
704
+ const isChildLeaf = Math.random() > 0.7; // 70%概率是叶子节点
705
+ const childKey = `${nodeData.value}-${n}`;
706
+
707
+ const childNode: any = {
708
+ label: `${nodeData.label}-${n}`,
709
+ value: childKey,
710
+ key: childKey,
711
+ isLeaf: isChildLeaf,
712
+ children: isChildLeaf ? undefined : [], // 非叶子节点提供空children数组
713
+ };
714
+
715
+ // 如果父节点有自定义loadingIcon,子节点也继承
716
+ if (nodeData.loadingIcon) {
717
+ childNode.loadingIcon = nodeData.loadingIcon;
718
+ }
719
+
720
+ newChildren.push(childNode);
721
+ }
722
+
723
+ // 更新节点的children属性
724
+ nodeData.children = newChildren;
725
+
726
+ // 确保DOM更新后再返回
727
+ setTimeout(() => {
728
+ resolve();
729
+ }, 0);
730
+ }, loadingDelay.value * 1000); // 使用设定的延迟时间
731
+ });
732
+ };
733
+ </script>
734
+ ```
735
+
736
+ ### 类型图标
737
+
738
+ 通过 `showTypeIcon` 属性可以开启类型图标的显示。此图标显示在展开图标之后,勾选节点之前。
739
+
740
+ `show-type-icon` 属性可开启类型图标的显示。默认行为: 父节点显示文件夹图标(区分打开收起),子节点显示文件图标。
741
+
742
+ ```html
743
+ <template>
744
+ <div>
745
+ <e-switch-m
746
+ v-model="showTypeIcon"
747
+ active-text="显示类型图标"
748
+ inactive-text="隐藏类型图标"
749
+ />
750
+ <e-tree-m
751
+ :data="treeData"
752
+ :show-type-icon="showTypeIcon"
753
+ checkable
754
+ multiple
755
+ />
756
+ </div>
757
+ </template>
758
+
759
+ <script lang="ts" setup>
760
+ import { ref } from "vue";
761
+
762
+ const showTypeIcon = ref(true);
763
+ const treeData = [
764
+ {
765
+ label: "Trunk 0-0",
766
+ value: "0-0",
767
+ children: [
768
+ {
769
+ label: "Leaf",
770
+ value: "0-0-1",
771
+ },
772
+ {
773
+ label: "Branch 0-0-2",
774
+ value: "0-0-2",
775
+ disabled: true,
776
+ children: [
777
+ {
778
+ label: "Leaf",
779
+ value: "0-0-2-1",
780
+ },
781
+ {
782
+ label: "Leaf",
783
+ value: "0-0-2-2",
784
+ disableCheckbox: true,
785
+ },
786
+ ],
787
+ },
788
+ ],
789
+ },
790
+ {
791
+ label: "Trunk 0-1",
792
+ value: "0-1",
793
+ children: [
794
+ {
795
+ label: "Branch 0-1-1",
796
+ value: "0-1-1",
797
+ children: [
798
+ {
799
+ label: "Leaf",
800
+ value: "0-1-1-1",
801
+ },
802
+ {
803
+ label: "Leaf",
804
+ value: "0-1-1-2",
805
+ },
806
+ ],
807
+ },
808
+ {
809
+ label: "Leaf",
810
+ value: "0-1-2",
811
+ },
812
+ ],
813
+ },
814
+ ];
815
+ </script>
816
+ ```
817
+
818
+ ### 类型图标自定义
819
+
820
+ 可以通过 tree 的 `type-icon` 插槽全局指定,也可以通过节点的 `typeIcon` 属性单独指定。
821
+
822
+ ```html
823
+ <template>
824
+ <e-tree-m :data="typeIconTreeData" checkable multiple show-type-icon>
825
+ <template #type-icon="{ isLeaf, expanded }">
826
+ <!-- 定制 type 图标 -->
827
+ <template v-if="!isLeaf">
828
+ <Folder v-if="!expanded" />
829
+ <FolderOpened v-else />
830
+ </template>
831
+ <template v-else>
832
+ <User />
833
+ </template>
834
+ </template>
835
+ </e-tree-m>
836
+ </template>
837
+
838
+ <script lang="ts" setup>
839
+ import { ref } from "vue";
840
+ // #ifdef H5
841
+ import { h } from "vue";
842
+ // #endif
843
+ import {
844
+ Folder,
845
+ FolderOpened,
846
+ User,
847
+ UserFilled,
848
+ Finished,
849
+ } from "@epoint-mfe/eui-icons";
850
+
851
+ const typeIconTreeData = [
852
+ {
853
+ label: "父节点1",
854
+ value: "node1",
855
+ children: [
856
+ {
857
+ label: "Leaf",
858
+ value: "node2",
859
+ },
860
+ ],
861
+ },
862
+ {
863
+ label: "父节点2个性化图标,显示成加减号",
864
+ value: "node3",
865
+ // #ifdef H5
866
+ typeIcon: ({ expanded }) => {
867
+ return h("span", `${expanded ? "-" : "+"}`);
868
+ },
869
+ // #endif
870
+ children: [
871
+ {
872
+ label: "叶子节点4",
873
+ value: "node4",
874
+ },
875
+ {
876
+ label: "叶子节点5",
877
+ value: "node5",
878
+ },
879
+ {
880
+ label: "叶子节点6, 个性化成不一样的用户图标",
881
+ value: "node6",
882
+ // #ifdef H5
883
+ typeIcon: () => h(UserFilled),
884
+ // #endif
885
+ },
886
+ ],
887
+ },
888
+ ];
889
+ </script>
890
+ ```
891
+
892
+ ### 节点图标
893
+
894
+ 通过 `show-icon` 属性可以开启节点图标的显示。默认行为:父节点显示文件夹图标(区分打开收起),子节点显示文件图标。
895
+
896
+ ```html
897
+ <template>
898
+ <e-tree-m :data="treeData" show-icon checkable multiple />
899
+ </template>
900
+
901
+ <script lang="ts" setup>
902
+ import { ref } from "vue";
903
+
904
+ const treeData = [
905
+ {
906
+ label: "Trunk 0-0",
907
+ value: "0-0",
908
+ children: [
909
+ {
910
+ label: "Branch 0-0-0",
911
+ value: "0-0-0",
912
+ children: [
913
+ {
914
+ label: "Leaf",
915
+ value: "0-0-0-0",
916
+ },
917
+ {
918
+ label: "Leaf",
919
+ value: "0-0-0-1",
920
+ },
921
+ ],
922
+ },
923
+ {
924
+ label: "Branch 0-0-1",
925
+ value: "0-0-1",
926
+ children: [
927
+ {
928
+ label: "Leaf",
929
+ value: "0-0-1-0",
930
+ },
931
+ ],
932
+ },
933
+ ],
934
+ },
935
+ ];
936
+ </script>
937
+ ```
938
+
939
+ ### 节点图标自定义
940
+
941
+ 节点图标可以通过 `tree` 的 `icon` 插槽全局指定,也可以通过节点的 `icon` 属性单独指定。
942
+
943
+ ```html
944
+ <template>
945
+ <e-tree-m :data="nodeIconTreeData" checkable multiple show-icon>
946
+ <template #icon="{ isLeaf, expanded }">
947
+ <!-- 定制节点图标 -->
948
+ <template v-if="!isLeaf">
949
+ <Folder v-if="!expanded" />
950
+ <FolderOpened v-else />
951
+ </template>
952
+ <template v-else>
953
+ <User />
954
+ </template>
955
+ </template>
956
+ </e-tree-m>
957
+ </template>
958
+
959
+ <script lang="ts" setup>
960
+ import { ref } from "vue";
961
+ // #ifdef H5
962
+ import { h } from "vue";
963
+ // #endif
964
+ import {
965
+ Folder,
966
+ FolderOpened,
967
+ User,
968
+ UserFilled,
969
+ Finished,
970
+ } from "@epoint-mfe/eui-icons";
971
+
972
+ const nodeIconTreeData = [
973
+ {
974
+ label: "父节点1",
975
+ value: "node1",
976
+ children: [
977
+ {
978
+ label: "Leaf",
979
+ value: "node2",
980
+ },
981
+ ],
982
+ },
983
+ {
984
+ label: "父节点2个性化图标",
985
+ value: "node3",
986
+ // #ifdef H5
987
+ icon: ({ expanded }) => {
988
+ return h("span", { style: "color:red" }, `${expanded ? "-" : "+"}`);
989
+ },
990
+ // #endif
991
+ children: [
992
+ {
993
+ label: "叶子节点6, 个性化成不一样的用户图标",
994
+ value: "node6",
995
+ // #ifdef H5
996
+ icon: () => {
997
+ return h(
998
+ "span",
999
+ {
1000
+ style: { color: "red" },
1001
+ },
1002
+ [h(UserFilled)]
1003
+ );
1004
+ },
1005
+ // #endif
1006
+ },
1007
+ ],
1008
+ },
1009
+ ];
1010
+ </script>
1011
+ ```
1012
+
1013
+ ## 搜索树
1014
+
1015
+ 为 `Tree` 添加 `show-filter` 属性可以开启搜索功能。
1016
+
1017
+ ### 搜索树(单选)
1018
+
1019
+ ```html
1020
+ <template>
1021
+ <e-tree-m
1022
+ v-model:checked-keys="searchSingleCheckedKeys"
1023
+ :data="treeData"
1024
+ show-filter
1025
+ checkable
1026
+ :multiple="false"
1027
+ />
1028
+ </template>
1029
+
1030
+ <script lang="ts" setup>
1031
+ import { ref } from "vue";
1032
+
1033
+ const searchSingleCheckedKeys = ref([]);
1034
+ const treeData = [
1035
+ {
1036
+ label: "Trunk 0-0",
1037
+ value: "0-0",
1038
+ children: [
1039
+ {
1040
+ label: "Leaf",
1041
+ value: "0-0-1",
1042
+ },
1043
+ {
1044
+ label: "Branch 0-0-2",
1045
+ value: "0-0-2",
1046
+ disabled: true,
1047
+ children: [
1048
+ {
1049
+ label: "Leaf",
1050
+ value: "0-0-2-1",
1051
+ },
1052
+ {
1053
+ label: "Leaf",
1054
+ value: "0-0-2-2",
1055
+ disableCheckbox: true,
1056
+ },
1057
+ ],
1058
+ },
1059
+ ],
1060
+ },
1061
+ {
1062
+ label: "Trunk 0-1",
1063
+ value: "0-1",
1064
+ children: [
1065
+ {
1066
+ label: "Branch 0-1-1",
1067
+ value: "0-1-1",
1068
+ children: [
1069
+ {
1070
+ label: "Leaf",
1071
+ value: "0-1-1-1",
1072
+ },
1073
+ {
1074
+ label: "Leaf",
1075
+ value: "0-1-1-2",
1076
+ },
1077
+ ],
1078
+ },
1079
+ {
1080
+ label: "Leaf",
1081
+ value: "0-1-2",
1082
+ },
1083
+ ],
1084
+ },
1085
+ ];
1086
+ </script>
1087
+ ```
1088
+
1089
+ ### 搜索树(多选)
1090
+
1091
+ ```html
1092
+ <template>
1093
+ <e-tree-m
1094
+ v-model:checked-keys="searchMultiCheckedKeys"
1095
+ :data="treeData"
1096
+ show-filter
1097
+ checkable
1098
+ :multiple="true"
1099
+ :check-strictly="false"
1100
+ />
1101
+ </template>
1102
+
1103
+ <script lang="ts" setup>
1104
+ import { ref } from "vue";
1105
+
1106
+ const searchMultiCheckedKeys = ref([]);
1107
+ const treeData = [
1108
+ {
1109
+ label: "Trunk 0-0",
1110
+ value: "0-0",
1111
+ children: [
1112
+ {
1113
+ label: "Leaf",
1114
+ value: "0-0-1",
1115
+ },
1116
+ {
1117
+ label: "Branch 0-0-2",
1118
+ value: "0-0-2",
1119
+ disabled: true,
1120
+ children: [
1121
+ {
1122
+ label: "Leaf",
1123
+ value: "0-0-2-1",
1124
+ },
1125
+ {
1126
+ label: "Leaf",
1127
+ value: "0-0-2-2",
1128
+ disableCheckbox: true,
1129
+ },
1130
+ ],
1131
+ },
1132
+ ],
1133
+ },
1134
+ {
1135
+ label: "Trunk 0-1",
1136
+ value: "0-1",
1137
+ children: [
1138
+ {
1139
+ label: "Branch 0-1-1",
1140
+ value: "0-1-1",
1141
+ children: [
1142
+ {
1143
+ label: "Leaf",
1144
+ value: "0-1-1-1",
1145
+ },
1146
+ {
1147
+ label: "Leaf",
1148
+ value: "0-1-1-2",
1149
+ },
1150
+ ],
1151
+ },
1152
+ {
1153
+ label: "Leaf",
1154
+ value: "0-1-2",
1155
+ },
1156
+ ],
1157
+ },
1158
+ ];
1159
+ </script>
1160
+ ```
1161
+
1162
+ ## 远程搜索树
1163
+
1164
+ 可通过 `filter-method` 属性来实现远程搜索效果。
1165
+
1166
+ ### 远程搜索树(单选)
1167
+
1168
+ ```html
1169
+ <template>
1170
+ <e-tree-m
1171
+ v-model:checked-keys="remoteSearchSingleCheckedKeys"
1172
+ :data="remoteTreeData"
1173
+ show-filter
1174
+ :filter-method="remoteFilter"
1175
+ checkable
1176
+ :multiple="false"
1177
+ />
1178
+ </template>
1179
+
1180
+ <script lang="ts" setup>
1181
+ import { ref } from "vue";
1182
+
1183
+ const remoteSearchSingleCheckedKeys = ref([]);
1184
+
1185
+ // 远程搜索树数据
1186
+ const remoteTreeData = ref([
1187
+ {
1188
+ label: "Trunk 0-0",
1189
+ value: "0-0",
1190
+ children: [
1191
+ {
1192
+ label: "Branch 0-0-0",
1193
+ value: "0-0-0",
1194
+ disabled: true,
1195
+ children: [
1196
+ {
1197
+ label: "Leaf",
1198
+ value: "0-0-0-0",
1199
+ },
1200
+ {
1201
+ label: "Leaf",
1202
+ value: "0-0-0-1",
1203
+ },
1204
+ ],
1205
+ },
1206
+ {
1207
+ label: "Branch 0-0-1",
1208
+ value: "0-0-1",
1209
+ children: [
1210
+ {
1211
+ label: "Leaf",
1212
+ value: "0-0-1-0",
1213
+ },
1214
+ ],
1215
+ },
1216
+ ],
1217
+ },
1218
+ ]);
1219
+
1220
+ // 远程搜索方法
1221
+ const remoteFilter = (key: string) => {
1222
+ return new Promise((resolve) => {
1223
+ // 如果没有输入关键字,返回原始数据
1224
+ if (!key) {
1225
+ resolve(remoteTreeData.value);
1226
+ return;
1227
+ }
1228
+
1229
+ // 模拟远程搜索结果
1230
+ const data = [
1231
+ {
1232
+ label: "Trunk 0-0",
1233
+ value: "0-0",
1234
+ children: [
1235
+ {
1236
+ label: `Branch ${key}`,
1237
+ value: "0-0-0",
1238
+ children: [
1239
+ {
1240
+ label: `Leaf ${key}`,
1241
+ value: "0-0-0-0",
1242
+ },
1243
+ {
1244
+ label: `${key} Leaf`,
1245
+ value: "0-0-0-1",
1246
+ },
1247
+ ],
1248
+ },
1249
+ ],
1250
+ },
1251
+ ];
1252
+
1253
+ setTimeout(() => {
1254
+ resolve(data);
1255
+ }, 500);
1256
+ });
1257
+ };
1258
+ </script>
1259
+ ```
1260
+
1261
+ ### 远程搜索树(多选)
1262
+
1263
+ ```html
1264
+ <template>
1265
+ <e-tree-m
1266
+ v-model:checked-keys="remoteSearchMultiCheckedKeys"
1267
+ :data="remoteTreeData"
1268
+ show-filter
1269
+ :filter-method="remoteFilter"
1270
+ checkable
1271
+ :multiple="true"
1272
+ :check-strictly="false"
1273
+ />
1274
+ </template>
1275
+
1276
+ <script lang="ts" setup>
1277
+ import { ref } from "vue";
1278
+
1279
+ const remoteSearchMultiCheckedKeys = ref([]);
1280
+
1281
+ // 远程搜索树数据
1282
+ const remoteTreeData = ref([
1283
+ {
1284
+ label: "Trunk 0-0",
1285
+ value: "0-0",
1286
+ children: [
1287
+ {
1288
+ label: "Branch 0-0-0",
1289
+ value: "0-0-0",
1290
+ disabled: true,
1291
+ children: [
1292
+ {
1293
+ label: "Leaf",
1294
+ value: "0-0-0-0",
1295
+ },
1296
+ {
1297
+ label: "Leaf",
1298
+ value: "0-0-0-1",
1299
+ },
1300
+ ],
1301
+ },
1302
+ {
1303
+ label: "Branch 0-0-1",
1304
+ value: "0-0-1",
1305
+ children: [
1306
+ {
1307
+ label: "Leaf",
1308
+ value: "0-0-1-0",
1309
+ },
1310
+ ],
1311
+ },
1312
+ ],
1313
+ },
1314
+ ]);
1315
+
1316
+ // 远程搜索方法
1317
+ const remoteFilter = (key: string) => {
1318
+ return new Promise((resolve) => {
1319
+ // 如果没有输入关键字,返回原始数据
1320
+ if (!key) {
1321
+ resolve(remoteTreeData.value);
1322
+ return;
1323
+ }
1324
+
1325
+ // 模拟远程搜索结果
1326
+ const data = [
1327
+ {
1328
+ label: "Trunk 0-0",
1329
+ value: "0-0",
1330
+ children: [
1331
+ {
1332
+ label: `Branch ${key}`,
1333
+ value: "0-0-0",
1334
+ children: [
1335
+ {
1336
+ label: `Leaf ${key}`,
1337
+ value: "0-0-0-0",
1338
+ },
1339
+ {
1340
+ label: `${key} Leaf`,
1341
+ value: "0-0-0-1",
1342
+ },
1343
+ ],
1344
+ },
1345
+ ],
1346
+ },
1347
+ ];
1348
+
1349
+ setTimeout(() => {
1350
+ resolve(data);
1351
+ }, 500);
1352
+ });
1353
+ };
1354
+ </script>
1355
+ ```
1356
+
1357
+ ## 自定义 data 的字段名称
1358
+
1359
+ 通过 `field-names` 属性可以自定义 data 的字段名。
1360
+
1361
+ ```html
1362
+ <template>
1363
+ <e-tree-m
1364
+ :default-selected-keys="['0-0-1']"
1365
+ :field-names="{
1366
+ value: 'value',
1367
+ label: 'text',
1368
+ children: 'items',
1369
+ icon: 'customIcon'
1370
+ }"
1371
+ :data="customFieldsTreeData"
1372
+ />
1373
+ </template>
1374
+
1375
+ <script lang="ts" setup>
1376
+ import { ref } from "vue";
1377
+ // #ifdef H5
1378
+ import { h } from "vue";
1379
+ // #endif
1380
+ import { Folder, User } from "@epoint-mfe/eui-icons";
1381
+
1382
+ const customFieldsTreeData = [
1383
+ {
1384
+ text: "Trunk 0-0",
1385
+ value: "0-0",
1386
+ items: [
1387
+ {
1388
+ text: "Branch 0-0-2",
1389
+ value: "0-0-2",
1390
+ selectable: false,
1391
+ // #ifdef H5
1392
+ customIcon: () => h(Folder),
1393
+ // #endif
1394
+ items: [
1395
+ {
1396
+ text: "Leaf",
1397
+ value: "0-0-2-1",
1398
+ items: [
1399
+ {
1400
+ text: "Leaf 0-0-2",
1401
+ value: "0-0-2-1-0",
1402
+ items: [
1403
+ {
1404
+ text: "Leaf",
1405
+ // #ifdef H5
1406
+ customIcon: () => h(User),
1407
+ // #endif
1408
+ value: "0-0-2-1-0-0",
1409
+ },
1410
+ ],
1411
+ },
1412
+ ],
1413
+ },
1414
+ ],
1415
+ },
1416
+ ],
1417
+ },
1418
+ {
1419
+ text: "Trunk 0-1",
1420
+ value: "0-1",
1421
+ items: [
1422
+ {
1423
+ text: "Branch 0-1-1",
1424
+ value: "0-1-1",
1425
+ items: [
1426
+ {
1427
+ text: "Leaf",
1428
+ value: "0-1-1-0",
1429
+ },
1430
+ ],
1431
+ },
1432
+ ],
1433
+ },
1434
+ ];
1435
+ </script>
1436
+ ```
1437
+
1438
+ ## API
1439
+
1440
+ ### Attributes
1441
+
1442
+ | Name | Description | Type | Default |
1443
+ | ------------------------------- | --------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------- |
1444
+ | multiple | 是否支持多选,`checkable` 为 `true` 时可用于控制选项框单/多选类型 | boolean | false |
1445
+ | checkable | 是否在节点前添加复选框,支持函数格式 | boolean \| (node: TreeNodeData, info: {level: number; isLeaf: boolean;}) => boolean | false |
1446
+ | selectable | 是否支持选择,支持函数格式 | boolean \| (node: TreeNodeData, info: {level: number; isLeaf: boolean;}) => boolean | true |
1447
+ | check-strictly | 是否取消父子节点关联 | boolean | false |
1448
+ | checked-strategy | 定制回填方式 <br/> all: 返回所有选中的节点 <br/> parent: 父子节点都选中时只返回父节点 <br/> child: 只返回子节点 | `'all' \| 'parent' \| 'child'` | 'all' |
1449
+ | default-selected-keys | 默认选中的树节点 | `Array<string \| number>` | — |
1450
+ | selected-keys **(v-model)** | 选中的树节点 | `Array<string \| number>` | — |
1451
+ | default-checked-keys | 默认选中复选框的树节点 | `Array<string \| number>` | — |
1452
+ | checked-keys **(v-model)** | 选中复选框的树节点 | `Array<string \| number>` | — |
1453
+ | data | 传入`data`,生成对应的树结构 | `TreeNodeData[]` | [] |
1454
+ | field-names | 指定节点数据中的字段名 | `TreeFieldNames` | — |
1455
+ | show-type-icon | 是否显示树节点的类型图标,展开收起之后,勾选节点前 | boolean | false |
1456
+ | show-icon | 是否显示树节点的的图标,勾选节点后,文字内容前 | boolean | false |
1457
+ | show-filter | 是否开启搜索功能 | boolean | false |
1458
+ | filter-method | 异步搜索的回调,返回一个 `Promise` | `(keyword: string) => Promise<TreeNodeData[]>` | — |
1459
+ | debounce | 输入筛选关键词的防抖延迟,以毫秒为单位 | number | 300 |
1460
+ | show-breadcrumb | 是否显示面包屑导航 | boolean | true |
1461
+ | load-more | 异步加载数据的回调,返回一个 `Promise` | `(node: TreeNodeData) => Promise<any>` | — |
1462
+ | half-checked-keys **(v-model)** | 半选状态的节点,仅在 checkable 且 checkStrictly 时生效 | `Array<string \| number>` | — |
1463
+ | only-check-leaf | 开启后 checkedKeys 只处理叶子节点,父节点状态由子节点决定(仅在 checkable 且 checkStrictly 为 false 时生效) | boolean | false |
1464
+
1465
+ ### Events
1466
+
1467
+ | Name | Description | Parameters |
1468
+ | ------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1469
+ | select | 点击树节点时触发 | selectedKeys: `Array<string \| number>`<br>data: `{ selected?: boolean; selectedNodes: TreeNodeData[]; node?: TreeNodeData; e?: Event; }` |
1470
+ | check | 点击树节点复选框时触发 | checkedKeys: `Array<string \| number>`<br>data: `{ checked?: boolean; checkedNodes: TreeNodeData[]; node?: TreeNodeData; e?: Event; halfCheckedKeys: (string \| number)[]; halfCheckedNodes: TreeNodeData[]; }` |
1471
+ | expand | 展开/关闭 | expandKeys: `Array<string \| number>`<br>data: `{ expanded?: boolean; expandNodes: TreeNodeData[]; node?: TreeNodeData; e?: Event; }` |
1472
+
1473
+ ### Methods
1474
+
1475
+ | Method | Description | Parameters |
1476
+ | ------------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
1477
+ | getNodes | 获取节点对象 | keys: `TreeNodeKey[]` |
1478
+ | getSelectedKeys | 获取选中节点的 key 值 | — |
1479
+ | getSelectedNodes | 获取选中的节点 | — |
1480
+ | getCheckedKeys | 获取选中复选框节点的 key 值。支持传入 `checkedStrategy`,没有传则取组件的配置。 | options: `checkedStrategy?: 'all' \| 'parent' \| 'child'; includeHalfChecked?: boolean;` |
1481
+ | getCheckedNodes | 获取选中复选框的节点。支持传入 `checkedStrategy`,没有传则取组件的配置。 | options: `checkedStrategy?: 'all' \| 'parent' \| 'child'; includeHalfChecked?: boolean;` |
1482
+ | getHalfCheckedKeys | 获取复选框半选节点的 key 值 | — |
1483
+ | getHalfCheckedNodes | 获取复选框半选的节点 | — |
1484
+ | getExpandedNodes | 获取展开的节点 | — |
1485
+ | checkAll | 设置全部节点的复选框状态 | checked: `boolean` |
1486
+ | checkNode | 设置指定节点的复选框状态 | key: `TreeNodeKey \| TreeNodeKey[]`<br>checked: `boolean`<br>onlyCheckLeaf: `boolean` |
1487
+ | selectAll | 设置全部节点的选中状态 | selected: `boolean` |
1488
+ | selectNode | 设置指定节点的选中状态 | key: `TreeNodeKey \| TreeNodeKey[]`<br>selected: `boolean` |
1489
+ | filter | 过滤节点 | keyword: ` string` |
1490
+
1491
+ ### Slots
1492
+
1493
+ | Name | Description |
1494
+ | ------------ | ------------------------------------------ |
1495
+ | loading-icon | 定制 loading 图标 |
1496
+ | type-icon | 定制节点类型图标,开启`showTypeIcon`后可用 |
1497
+ | icon | 定制节点图标,开启`showIcon`后可用 |
1498
+ | title | 标题 |
1499
+ | extra | 渲染额外的节点内容 |
1500
+
1501
+ 以上插槽的作用域参数为 `TreeNodeData & TreeNodeStatus` , 详见 [TreeNodeData](#treenodedata) 和 [TreeNodeStatus](#treenodestatus)。
1502
+
1503
+ ### TreeNodeData
1504
+
1505
+ | 参数名 | 描述 | 类型 | 默认值 |
1506
+ | --------------- | ------------------------------------------------ | ----------------------------------------- | :-----: |
1507
+ | value | 唯一标示 | `string \| number` | — |
1508
+ | label | 该节点显示的标题 | `string` | — |
1509
+ | selectable | 是否允许选中 | `boolean` | `false` |
1510
+ | disabled | 是否禁用节点 | `boolean` | `false` |
1511
+ | disableCheckbox | 是否禁用复选框 | `boolean` | `false` |
1512
+ | checkable | 是否显示多选框 | `boolean` | `false` |
1513
+ | isLeaf | 是否是叶子节点。动态加载时有效 | `boolean` | `false` |
1514
+ | typeIcon | 节点的类型图标(仅 H5 支持) | `(nodeInfo: TreeNodeRenderArgs) => VNode` | — |
1515
+ | icon | 节点的图标(仅 H5 支持) | `(nodeInfo: TreeNodeRenderArgs) => VNode` | — |
1516
+ | loadingIcon | 定制 loading 图标,优先级大于 tree(仅 H5 支持) | `(nodeInfo: TreeNodeRenderArgs) => VNode` | — |
1517
+ | children | 子节点 | `TreeNodeData[]` | — |
1518
+ | showTypeIcon | 是否是节点类型图标 | `boolean` | `false` |
1519
+ | showIcon | 是否是节点图标 | `boolean` | `false` |
1520
+
1521
+ ### TreeNodeStatus
1522
+
1523
+ | 参数名 | 描述 | 类型 |
1524
+ | ------------- | ------------ | --------- |
1525
+ | loading | 是否加载中 | `boolean` |
1526
+ | checked | 是否勾选 | `boolean` |
1527
+ | selected | 是否选中 | `boolean` |
1528
+ | expanded | 是否展开 | `boolean` |
1529
+ | indeterminate | 是否半选 | `boolean` |
1530
+ | isLeaf | 是否叶子节点 | `boolean` |
1531
+
1532
+ ### TreeFieldNames
1533
+
1534
+ | 参数名 | 描述 | 类型 | 默认值 |
1535
+ | --------------- | ----------------------------------------------- | -------- | :---------------: |
1536
+ | value | 指定 value 在 TreeNodeData 中的字段名 | `string` | `value` |
1537
+ | label | 指定 label 在 TreeNodeData 中的字段名 | `string` | `label` |
1538
+ | disabled | 指定 disabled 在 TreeNodeData 中的字段名 | `string` | `disabled` |
1539
+ | children | 指定 children 在 TreeNodeData 中的字段名 | `string` | `children` |
1540
+ | isLeaf | 指定 isLeaf 在 TreeNodeData 中的字段名 | `string` | `isLeaf` |
1541
+ | disableCheckbox | 指定 disableCheckbox 在 TreeNodeData 中的字段名 | `string` | `disableCheckbox` |
1542
+ | checkable | 指定 checkable 在 TreeNodeData 中的字段名 | `string` | `checkable` |
1543
+ | icon | 指定 icon 在 TreeNodeData 中的字段名 | `string` | `icon` |
1544
+
1545
+ ::: ifdef M84
1546
+ <iframe
1547
+ src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/epshowcase/examples/e-tree-m"
1548
+ frameborder=0
1549
+ allowfullscreen class="ui-showcase-iframe">
1550
+ </iframe>
1551
+ ::: endif
1552
+
1553
+ <style>
1554
+ .ui-showcase-iframe {
1555
+ position: fixed;
1556
+ right: 3.5vw;
1557
+ top: 17%;
1558
+ width: 375px;
1559
+ height: 75vh;
1560
+ box-shadow: 0 0 12px 6px #eee;
1561
+ border-radius: 15px;
1562
+ }
1563
+ .main .markdown-body {
1564
+ padding: 45px;
1565
+ width: calc(97vw - 661px);
1566
+ }
1567
+ </style>