m8-mcp-server 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +118 -32
  2. package/dist/index.d.mts +449 -0
  3. package/dist/index.d.ts +449 -0
  4. package/dist/index.js +700 -1
  5. package/dist/index.mjs +700 -0
  6. package/package.json +34 -21
  7. package/prompts/PROMPTS.md +476 -0
  8. package/bin/m8-mcp.js +0 -2
  9. package/dist/constants.js +0 -1
  10. package/dist/data/ejs-doc/api_audio/api_audio.md +0 -225
  11. package/dist/data/ejs-doc/api_auth/api_auth.md +0 -256
  12. package/dist/data/ejs-doc/api_contact/api_contact.md +0 -295
  13. package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  14. package/dist/data/ejs-doc/api_device/api_device.md +0 -761
  15. package/dist/data/ejs-doc/api_event/api_event.md +0 -244
  16. package/dist/data/ejs-doc/api_global/api_global.md +0 -440
  17. package/dist/data/ejs-doc/api_io/api_io.md +0 -369
  18. package/dist/data/ejs-doc/api_navigator/api_navigator.md +0 -654
  19. package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  20. package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  21. package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  22. package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  23. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  24. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  25. package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  26. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  27. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  28. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  29. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  30. package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  31. package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  32. package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  33. package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  34. package/dist/data/ejs-doc/api_page/api_page.md +0 -261
  35. package/dist/data/ejs-doc/api_runtime/api_runtime.md +0 -788
  36. package/dist/data/ejs-doc/api_storage/api_storage.md +0 -320
  37. package/dist/data/ejs-doc/api_stream/api_stream.md +0 -152
  38. package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  39. package/dist/data/ejs-doc/api_ui/api_ui.md +0 -836
  40. package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  41. package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  42. package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
  43. package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  44. package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  45. package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  46. package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  47. package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  48. package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  49. package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  50. package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  51. package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  52. package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
  53. package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
  54. package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
  55. package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  56. package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  57. package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
  58. package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  59. package/dist/data/ejs-doc/api_util/api_util.md +0 -615
  60. package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
  61. package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
  62. package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
  63. package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
  64. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205.md +0 -247
  65. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205vue3.md +0 -276
  66. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244.md +0 -130
  67. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244vue3.md +0 -115
  68. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/000-/346/240/270/345/277/203/346/226/271/346/263/225.md +0 -398
  69. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/001-Ajax/344/270/216/346/226/207/344/273/266/344/270/212/344/274/240.md +0 -456
  70. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +0 -128
  71. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +0 -142
  72. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +0 -210
  73. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +0 -85
  74. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +0 -21
  75. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +0 -36
  76. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +0 -128
  77. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +0 -148
  78. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/010-Util/346/211/251/345/261/225/346/214/207/345/215/227.md +0 -76
  79. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +0 -59
  80. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +0 -95
  81. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +0 -76
  82. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +0 -202
  83. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +0 -92
  84. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +0 -412
  85. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +0 -146
  86. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +0 -137
  87. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +0 -363
  88. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/000-/347/273/204/344/273/266/345/272/223/344/270/213/350/275/275/344/275/277/347/224/250.md +0 -188
  89. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/001-actionsheet/345/212/250/344/275/234/351/235/242/346/235/277.md +0 -460
  90. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +0 -285
  91. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +0 -211
  92. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/008-cell/345/215/225/345/205/203/346/240/274.md +0 -213
  93. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/009-checkbox/345/244/215/351/200/211/346/241/206.md +0 -501
  94. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/010-circle/347/216/257/345/275/242/350/277/233/345/272/246/346/235/241.md +0 -168
  95. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/011-datepicker/346/227/245/346/234/237/351/200/211/346/213/251.md +0 -617
  96. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/013-field/350/276/223/345/205/245/346/241/206.md +0 -539
  97. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +0 -999
  98. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/018-header/345/244/264/351/203/250/345/257/274/350/210/252/346/240/217.md +0 -150
  99. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +0 -133
  100. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +0 -117
  101. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/021-noticebar/351/200/232/347/237/245/346/240/217.md +0 -152
  102. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/022-numberkeyboard/346/225/260/345/255/227/351/224/256/347/233/230.md +0 -427
  103. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +0 -212
  104. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +0 -85
  105. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/025-passwordinput/345/257/206/347/240/201/350/276/223/345/205/245/346/241/206.md +0 -175
  106. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/026-picker/351/200/211/346/213/251/345/231/250.md +0 -519
  107. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/027-popup/345/274/271/345/207/272/345/261/202.md +0 -152
  108. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/028-progress/350/277/233/345/272/246/346/235/241.md +0 -103
  109. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/029-radio/345/215/225/351/200/211/346/241/206.md +0 -285
  110. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +0 -189
  111. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +0 -217
  112. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +0 -166
  113. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/033-stepper/346/255/245/350/277/233/345/231/250.md +0 -340
  114. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/035-swipecell/346/273/221/345/212/250/345/215/225/345/205/203/346/240/274.md +0 -265
  115. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +0 -196
  116. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/037-switchcell/345/274/200/345/205/263/345/215/225/345/205/203/346/240/274.md +0 -115
  117. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +0 -232
  118. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/039-treeselect/345/210/206/347/261/273/351/200/211/346/213/251.md +0 -631
  119. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/040-uploader/346/226/207/344/273/266/344/270/212/344/274/240.md +0 -531
  120. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/041-verifycode/351/252/214/350/257/201/347/240/201.md +0 -111
  121. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/042-minirefresh/344/270/213/346/213/211/345/210/267/346/226/260.md +0 -337
  122. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +0 -150
  123. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +0 -144
  124. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/045-toast/350/275/273/346/217/220/347/244/272.md +0 -429
  125. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +0 -467
  126. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/047-area/347/234/201/345/270/202/345/214/272/351/200/211/346/213/251.md +0 -295
  127. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/048-tab/346/240/207/347/255/276/351/241/265.md +0 -577
  128. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/049-dialog/345/274/271/345/207/272/346/241/206.md +0 -491
  129. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/050-dropdownmenu/344/270/213/346/213/211/350/217/234/345/215/225.md +0 -265
  130. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/051-notify/346/266/210/346/201/257/351/200/232/347/237/245.md +0 -203
  131. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/052-overlay/351/201/256/347/275/251/345/261/202.md +0 -139
  132. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/053-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +0 -199
  133. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +0 -183
  134. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/055-countdown/345/200/222/350/256/241/346/227/266.md +0 -289
  135. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/056-divider/345/210/206/345/211/262/347/272/277.md +0 -97
  136. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/057-empty/347/251/272/347/212/266/346/200/201.md +0 -146
  137. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/058-imagepreview/345/233/276/347/211/207/351/242/204/350/247/210.md +0 -292
  138. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/059-lazyload/346/207/222/345/212/240/350/275/275.md +0 -120
  139. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/060-skeleton/351/252/250/346/236/266/345/261/217.md +0 -114
  140. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/061-steps/346/255/245/351/252/244/346/235/241.md +0 -119
  141. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/062-sticky/347/262/230/346/200/247/345/270/203/345/261/200.md +0 -208
  142. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/063-indexbar/347/264/242/345/274/225/346/240/217.md +0 -161
  143. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/064-sidebar/344/276/247/350/276/271/345/257/274/350/210/252.md +0 -248
  144. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/065-tabbar/346/240/207/347/255/276/346/240/217.md +0 -314
  145. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +0 -162
  146. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/067-popover/346/260/224/346/263/241/345/274/271/345/207/272/346/241/206.md +0 -325
  147. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/068-cascader/347/272/247/350/201/224/351/200/211/346/213/251.md +0 -360
  148. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/069-selectperson/351/200/211/344/272/272/347/273/204/344/273/266.md +0 -595
  149. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +0 -262
  150. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +0 -51
  151. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +0 -132
  152. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/073-qrcode/344/272/214/347/273/264/347/240/201.md +0 -1538
  153. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/074-imagescale/345/233/276/347/211/207/350/243/201/345/211/252.md +0 -261
  154. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/075-dragsort/346/213/226/346/213/275/346/216/222/345/272/217.md +0 -161
  155. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +0 -381
  156. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/077-rtc/351/237/263/350/247/206/351/242/221.md +0 -531
  157. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +0 -849
  158. package/dist/data/m8mpdoc-develop/012-Mock/347/232/204/344/275/277/347/224/250/Mock/347/232/204/344/275/277/347/224/250.md +0 -116
  159. package/dist/data/standards/css-style.md +0 -531
  160. package/dist/data/standards/js-style.md +0 -394
  161. package/dist/data/standards/project-structure.md +0 -325
  162. package/dist/data/standards/vue-style.md +0 -644
  163. package/dist/tools/search.js +0 -1
  164. package/dist/tools/standards.js +0 -1
@@ -1,360 +0,0 @@
1
- # 组件使用
2
-
3
- ## cascader 级联选择框
4
-
5
- ### 介绍
6
-
7
- - 级联选择框,用于多层级数据的选择,典型场景为省市区选择, M8 框架`8.2.10`版本以上支持。
8
-
9
- ### 代码演示
10
-
11
- #### 基础用法
12
-
13
- 级联选择组件可以搭配 `Field` 和 `Popup` 组件使用,示例如下:
14
-
15
- ```html
16
- <em-field v-model="fieldValue" is-link readonly label="地区" placeholder="请选择所在地区" @click="show = true" />
17
- <em-cascader
18
- v-model="show"
19
- title="请选择所在地区"
20
- :selected-value="cascaderValue"
21
- :options="options"
22
- @close="show = false"
23
- @finish="onFinish"
24
- />
25
- ```
26
-
27
- ::: ifdef M83
28
-
29
- ```js
30
- export default {
31
- data() {
32
- return {
33
- show: false,
34
- fieldValue: '',
35
- cascaderValue: '',
36
- // 选项列表,children 代表子选项,支持多级嵌套
37
- options: [
38
- {
39
- text: '浙江省',
40
- value: '330000',
41
- children: [{ text: '杭州市', value: '330100' }]
42
- },
43
- {
44
- text: '江苏省',
45
- value: '320000',
46
- children: [{ text: '南京市', value: '320100' }]
47
- }
48
- ]
49
- };
50
- },
51
- methods: {
52
- // 全部选项选择完毕后,会触发 finish 事件
53
- onFinish({ selectedOptions }) {
54
- this.show = false;
55
- this.fieldValue = selectedOptions.map((option) => option.text).join('/');
56
- }
57
- }
58
- };
59
- ```
60
-
61
- ::: endif
62
- ::: ifdef M84
63
-
64
- ```js
65
- import { ref } from 'vue';
66
-
67
- // 使用 ref 创建响应式数据
68
- const show = ref(false);
69
- const fieldValue = ref('');
70
- const cascaderValue = ref('');
71
-
72
- // 选项列表,支持多级嵌套
73
- const options = ref([
74
- {
75
- text: '浙江省',
76
- value: '330000',
77
- children: [{ text: '杭州市', value: '330100' }]
78
- },
79
- {
80
- text: '江苏省',
81
- value: '320000',
82
- children: [{ text: '南京市', value: '320100' }]
83
- }
84
- ]);
85
-
86
- // 全部选项选择完毕后,会触发 finish 事件
87
- const onFinish = ({ selectedOptions }) => {
88
- show.value = false;
89
- fieldValue.value = selectedOptions.map((option) => option.text).join('/');
90
- };
91
- ```
92
-
93
- ::: endif
94
-
95
- #### 自定义颜色
96
-
97
- 通过 `active-color` 属性来设置选中状态的高亮颜色。
98
-
99
- ```html
100
- <em-cascader
101
- v-model="show"
102
- title="请选择所在地区"
103
- active-color="#1989fa"
104
- :options="options"
105
- @close="show = false"
106
- @finish="onFinish"
107
- />
108
- ```
109
-
110
- #### 异步加载选项
111
-
112
- 可以监听 `change` 事件并动态设置 `options`,实现异步加载选项。
113
-
114
- ```html
115
- <em-field v-model="fieldValue" is-link readonly label="地区" placeholder="请选择所在地区" @click="show = true" />
116
- <em-cascader
117
- v-model="show"
118
- :selected-value="cascaderValue"
119
- title="请选择所在地区"
120
- :options="options"
121
- @close="show = false"
122
- @finish="onFinish"
123
- @change="onChange"
124
- />
125
- ```
126
-
127
- ::: ifdef M83
128
-
129
- ```js
130
- export default {
131
- data() {
132
- return {
133
- show: false,
134
- fieldValue: '',
135
- cascaderValue: '',
136
- options: [
137
- {
138
- text: '浙江省',
139
- value: '330000',
140
- children: []
141
- }
142
- ]
143
- };
144
- },
145
- methods: {
146
- onChange({ value }) {
147
- if (value === this.options[0].value) {
148
- setTimeout(() => {
149
- this.options[0].children = [
150
- { text: '杭州市', value: '330100' },
151
- { text: '宁波市', value: '330200' }
152
- ];
153
- }, 500);
154
- }
155
- },
156
- onFinish({ selectedOptions }) {
157
- this.show = false;
158
- this.fieldValue = selectedOptions.map((option) => option.text).join('/');
159
- }
160
- }
161
- };
162
- ```
163
-
164
- ::: endif
165
- ::: ifdef M84
166
-
167
- ```js
168
- import { ref } from 'vue';
169
-
170
- // 使用 ref 创建响应式数据
171
- const show = ref(false);
172
- const fieldValue = ref('');
173
- const cascaderValue = ref('');
174
-
175
- // 选项列表,支持多级嵌套
176
- const options = ref([
177
- {
178
- text: '浙江省',
179
- value: '330000',
180
- children: []
181
- }
182
- ]);
183
-
184
- // 选中项变化时触发
185
- const onChange = ({ value }) => {
186
- if (value === options.value[0].value) {
187
- setTimeout(() => {
188
- options.value[0].children = [
189
- { text: '杭州市', value: '330100' },
190
- { text: '宁波市', value: '330200' }
191
- ];
192
- }, 500);
193
- }
194
- };
195
-
196
- // 全部选项选择完成后触发
197
- const onFinish = ({ selectedOptions }) => {
198
- show.value = false;
199
- fieldValue.value = selectedOptions.map((option) => option.text).join('/');
200
- };
201
- ```
202
-
203
- ::: endif
204
-
205
- #### 自定义字段名
206
-
207
- 通过 `field-names` 属性可以自定义 `options` 里的字段名称。
208
-
209
- ```html
210
- <em-cascader
211
- v-model="show"
212
- title="请选择所在地区"
213
- :options="options"
214
- :field-names="fieldNames"
215
- @close="show = false"
216
- @finish="onFinish"
217
- />
218
- ```
219
-
220
- ::: ifdef M83
221
-
222
- ```js
223
- export default {
224
- data() {
225
- return {
226
- fieldNames: {
227
- text: 'name',
228
- value: 'code',
229
- children: 'items'
230
- },
231
- options: [
232
- {
233
- name: '浙江省',
234
- code: '330000',
235
- items: [{ name: '杭州市', code: '330100' }]
236
- },
237
- {
238
- name: '江苏省',
239
- code: '320000',
240
- items: [{ name: '南京市', code: '320100' }]
241
- }
242
- ]
243
- };
244
- }
245
- };
246
- ```
247
-
248
- ::: endif
249
- ::: ifdef M84
250
-
251
- ```js
252
- import { ref } from 'vue';
253
-
254
- // 使用 ref 创建响应式数据
255
- const fieldNames = ref({
256
- text: 'name',
257
- value: 'code',
258
- children: 'items'
259
- });
260
-
261
- // 选项列表,支持多级嵌套
262
- const options = ref([
263
- {
264
- name: '浙江省',
265
- code: '330000',
266
- items: [{ name: '杭州市', code: '330100' }]
267
- },
268
- {
269
- name: '江苏省',
270
- code: '320000',
271
- items: [{ name: '南京市', code: '320100' }]
272
- }
273
- ]);
274
- ```
275
-
276
- ::: endif
277
-
278
- ### API
279
-
280
- #### Cascader Props
281
-
282
- | 参数 | 说明 | 类型 | 默认值 |
283
- | :--------------------------------------------------------------------------- | :---------------------------: | :-------------- | :------------------------------------------------------- |
284
- | v-model ::: ifdef M83 (value) ::: endif ::: ifdef M84 (modelValue) ::: endif | 级联选择组件的显隐 | boolean | `false` |
285
- | title | 顶部标题 | string | - |
286
- | selected-value | 选中项的值 | string / number | - |
287
- | options | 可选项数据源 | Option[] | `[]` |
288
- | placeholder | 未选中时的提示文案 | string | `请选择` |
289
- | active-color | 选中状态的高亮颜色 | string | `#2e6be5` |
290
- | closeable | 是否显示关闭图标 | boolean | `true` |
291
- | field-names | 自定义 `options` 结构中的字段 | object | `{ text: 'text', value: 'value', children: 'children' }` |
292
-
293
- #### Popup Props
294
-
295
- 级联选择组件已经包裹了`popup`组件,故也支持传递`popup`组件的部分`props`。相关`props`的具体示例请参考`popup`组件章节。
296
-
297
- | 参数 | 说明 | 类型 | 默认值 |
298
- | :--------------------- | :---------------------------------------: | :------ | :----- |
299
- | overlay | 是否显示遮罩层 | boolean | `true` |
300
- | overlay-class | 自定义遮罩层类名 | string | - |
301
- | overlay-style | 自定义遮罩层样式 | object | - |
302
- | transition | 动画类名,等价于 `transtion` 的`name`属性 | string | - |
303
- | close-on-click-overlay | 是否在点击遮罩层后关闭 | boolean | `true` |
304
- | lock-scroll | 是否锁定背景滚动 | boolean | `true` |
305
- | lazy-render | 是否在显示弹层时才渲染节点 | boolean | `true` |
306
-
307
- 注意,其中`transition`属性组件库支持的可选值有:`em-fade` `em-fade-up` `em-fade-down` `em-fade-left` `em-fade-right` `em-slide-up` `em-slide-down` `em-slide-left` `em-slide-right`
308
-
309
- #### Cascader Events
310
-
311
- | 事件 | 说明 | 回调参数 |
312
- | :----- | :--------------------: | :------------------------------------- |
313
- | change | 选中项变化时触发 | `{ value, selectedOptions, tabIndex }` |
314
- | finish | 全部选项选择完成后触发 | `{ value, selectedOptions, tabIndex }` |
315
- | close | 点击关闭图标时触发 | - |
316
-
317
- #### Popup Events
318
-
319
- 级联选择组件已经包裹了`popup`组件,故也支持`popup`组件的部分事件。相关事件的具体示例请参考`popup`组件章节。
320
-
321
- | 事件名 | 说明 | 回调参数 |
322
- | :----- | :--------------: | :-------------------------- |
323
- | close | 关闭弹出层时触发 | `value`: 当前弹出层是否展开 |
324
-
325
- #### Cascader Slots
326
-
327
- | 名称 | 说明 |
328
- | :---- | :------------: |
329
- | title | 自定义顶部标题 |
330
-
331
- ::: ifdef M83
332
- <iframe
333
- src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-cascader"
334
- frameborder=0
335
- allowfullscreen class="ui-showcase-iframe">
336
- </iframe>
337
- ::: endif
338
- ::: ifdef M84
339
- <iframe
340
- src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-cascader"
341
- frameborder=0
342
- allowfullscreen class="ui-showcase-iframe">
343
- </iframe>
344
- ::: endif
345
-
346
- <style>
347
- .ui-showcase-iframe {
348
- position: fixed;
349
- right: 3.5vw;
350
- top: 17%;
351
- width: 375px;
352
- height: 75vh;
353
- box-shadow: 0 0 12px 6px #eee;
354
- border-radius: 15px;
355
- }
356
- .main .markdown-body {
357
- padding: 45px;
358
- width: calc(97vw - 661px);
359
- }
360
- </style>