elementPlus.ts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. // 按需引入element-plus(该方法稳定且明确。当然也支持:https://element-plus.org/zh-CN/guide/quickstart.html#%E6%8C%89%E9%9C%80%E5%AF%BC%E5%85%A5)
  2. import type { App, Component } from "vue";
  3. import {
  4. /**
  5. * 为了方便演示平台将 element-plus 导出的所有组件引入,实际使用中如果你没用到哪个组件,将其注释掉就行
  6. * 导出来源:https://github.com/element-plus/element-plus/blob/dev/packages/element-plus/component.ts#L111-L211
  7. * */
  8. ElAffix,
  9. ElAlert,
  10. ElAutocomplete,
  11. ElAutoResizer,
  12. ElAvatar,
  13. ElAnchor,
  14. ElAnchorLink,
  15. ElBacktop,
  16. ElBadge,
  17. ElBreadcrumb,
  18. ElBreadcrumbItem,
  19. ElButton,
  20. ElButtonGroup,
  21. ElCalendar,
  22. ElCard,
  23. ElCarousel,
  24. ElCarouselItem,
  25. ElCascader,
  26. ElCascaderPanel,
  27. ElCheckTag,
  28. ElCheckbox,
  29. ElCheckboxButton,
  30. ElCheckboxGroup,
  31. ElCol,
  32. ElCollapse,
  33. ElCollapseItem,
  34. ElCollapseTransition,
  35. ElColorPicker,
  36. ElConfigProvider,
  37. ElContainer,
  38. ElAside,
  39. ElFooter,
  40. ElHeader,
  41. ElMain,
  42. ElDatePicker,
  43. ElDescriptions,
  44. ElDescriptionsItem,
  45. ElDialog,
  46. ElDivider,
  47. ElDrawer,
  48. ElDropdown,
  49. ElDropdownItem,
  50. ElDropdownMenu,
  51. ElEmpty,
  52. ElForm,
  53. ElFormItem,
  54. ElIcon,
  55. ElImage,
  56. ElImageViewer,
  57. ElInput,
  58. ElInputNumber,
  59. ElLink,
  60. ElMenu,
  61. ElMenuItem,
  62. ElMenuItemGroup,
  63. ElSubMenu,
  64. ElPageHeader,
  65. ElPagination,
  66. ElPopconfirm,
  67. ElPopover,
  68. ElPopper,
  69. ElProgress,
  70. ElRadio,
  71. ElRadioButton,
  72. ElRadioGroup,
  73. ElRate,
  74. ElResult,
  75. ElRow,
  76. ElScrollbar,
  77. ElSelect,
  78. ElOption,
  79. ElOptionGroup,
  80. ElSelectV2,
  81. ElSkeleton,
  82. ElSkeletonItem,
  83. ElSlider,
  84. ElSpace,
  85. ElStatistic,
  86. ElCountdown,
  87. ElSteps,
  88. ElStep,
  89. ElSwitch,
  90. ElTable,
  91. ElTableColumn,
  92. ElTableV2,
  93. ElTabs,
  94. ElTabPane,
  95. ElTag,
  96. ElText,
  97. ElTimePicker,
  98. ElTimeSelect,
  99. ElTimeline,
  100. ElTimelineItem,
  101. ElTooltip,
  102. ElTransfer,
  103. ElTree,
  104. ElTreeSelect,
  105. ElTreeV2,
  106. ElUpload,
  107. ElWatermark,
  108. ElTour,
  109. ElTourStep,
  110. ElSegmented,
  111. /**
  112. * 为了方便演示平台将 element-plus 导出的所有插件引入,实际使用中如果你没用到哪个插件,将其注释掉就行
  113. * 导出来源:https://github.com/element-plus/element-plus/blob/dev/packages/element-plus/plugin.ts#L11-L16
  114. * */
  115. ElLoading, // v-loading 指令
  116. ElInfiniteScroll, // v-infinite-scroll 指令
  117. ElPopoverDirective, // v-popover 指令
  118. ElMessage, // $message 全局属性对象globalProperties
  119. ElMessageBox, // $msgbox、$alert、$confirm、$prompt 全局属性对象globalProperties
  120. ElNotification // $notify 全局属性对象globalProperties
  121. } from "element-plus";
  122. const components = [
  123. ElAffix,
  124. ElAlert,
  125. ElAutocomplete,
  126. ElAutoResizer,
  127. ElAvatar,
  128. ElAnchor,
  129. ElAnchorLink,
  130. ElBacktop,
  131. ElBadge,
  132. ElBreadcrumb,
  133. ElBreadcrumbItem,
  134. ElButton,
  135. ElButtonGroup,
  136. ElCalendar,
  137. ElCard,
  138. ElCarousel,
  139. ElCarouselItem,
  140. ElCascader,
  141. ElCascaderPanel,
  142. ElCheckTag,
  143. ElCheckbox,
  144. ElCheckboxButton,
  145. ElCheckboxGroup,
  146. ElCol,
  147. ElCollapse,
  148. ElCollapseItem,
  149. ElCollapseTransition,
  150. ElColorPicker,
  151. ElConfigProvider,
  152. ElContainer,
  153. ElAside,
  154. ElFooter,
  155. ElHeader,
  156. ElMain,
  157. ElDatePicker,
  158. ElDescriptions,
  159. ElDescriptionsItem,
  160. ElDialog,
  161. ElDivider,
  162. ElDrawer,
  163. ElDropdown,
  164. ElDropdownItem,
  165. ElDropdownMenu,
  166. ElEmpty,
  167. ElForm,
  168. ElFormItem,
  169. ElIcon,
  170. ElImage,
  171. ElImageViewer,
  172. ElInput,
  173. ElInputNumber,
  174. ElLink,
  175. ElMenu,
  176. ElMenuItem,
  177. ElMenuItemGroup,
  178. ElSubMenu,
  179. ElPageHeader,
  180. ElPagination,
  181. ElPopconfirm,
  182. ElPopover,
  183. ElPopper,
  184. ElProgress,
  185. ElRadio,
  186. ElRadioButton,
  187. ElRadioGroup,
  188. ElRate,
  189. ElResult,
  190. ElRow,
  191. ElScrollbar,
  192. ElSelect,
  193. ElOption,
  194. ElOptionGroup,
  195. ElSelectV2,
  196. ElSkeleton,
  197. ElSkeletonItem,
  198. ElSlider,
  199. ElSpace,
  200. ElStatistic,
  201. ElCountdown,
  202. ElSteps,
  203. ElStep,
  204. ElSwitch,
  205. ElTable,
  206. ElTableColumn,
  207. ElTableV2,
  208. ElTabs,
  209. ElTabPane,
  210. ElTag,
  211. ElText,
  212. ElTimePicker,
  213. ElTimeSelect,
  214. ElTimeline,
  215. ElTimelineItem,
  216. ElTooltip,
  217. ElTransfer,
  218. ElTree,
  219. ElTreeSelect,
  220. ElTreeV2,
  221. ElUpload,
  222. ElWatermark,
  223. ElTour,
  224. ElTourStep,
  225. ElSegmented
  226. ];
  227. const plugins = [
  228. ElLoading,
  229. ElInfiniteScroll,
  230. ElPopoverDirective,
  231. ElMessage,
  232. ElMessageBox,
  233. ElNotification
  234. ];
  235. /** 按需引入`element-plus` */
  236. export function useElementPlus(app: App) {
  237. // 全局注册组件
  238. components.forEach((component: Component) => {
  239. app.component(component.name, component);
  240. });
  241. // 全局注册插件
  242. plugins.forEach(plugin => {
  243. app.use(plugin);
  244. });
  245. }