|  | @@ -0,0 +1,242 @@
 | 
	
		
			
				|  |  | +// 按需引入element-plus(该方法稳定且明确。当然也支持:https://element-plus.org/zh-CN/guide/quickstart.html#%E6%8C%89%E9%9C%80%E5%AF%BC%E5%85%A5)
 | 
	
		
			
				|  |  | +import type { App, Component } from "vue";
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  /**
 | 
	
		
			
				|  |  | +   * 为了方便演示平台将 element-plus 导出的所有组件引入,实际使用中如果你没用到哪个组件,将其注释掉就行
 | 
	
		
			
				|  |  | +   * 导出来源:https://github.com/element-plus/element-plus/blob/dev/packages/element-plus/component.ts#L111-L211
 | 
	
		
			
				|  |  | +   * */
 | 
	
		
			
				|  |  | +  ElAffix,
 | 
	
		
			
				|  |  | +  ElAlert,
 | 
	
		
			
				|  |  | +  ElAutocomplete,
 | 
	
		
			
				|  |  | +  ElAutoResizer,
 | 
	
		
			
				|  |  | +  ElAvatar,
 | 
	
		
			
				|  |  | +  ElBacktop,
 | 
	
		
			
				|  |  | +  ElBadge,
 | 
	
		
			
				|  |  | +  ElBreadcrumb,
 | 
	
		
			
				|  |  | +  ElBreadcrumbItem,
 | 
	
		
			
				|  |  | +  ElButton,
 | 
	
		
			
				|  |  | +  ElButtonGroup,
 | 
	
		
			
				|  |  | +  ElCalendar,
 | 
	
		
			
				|  |  | +  ElCard,
 | 
	
		
			
				|  |  | +  ElCarousel,
 | 
	
		
			
				|  |  | +  ElCarouselItem,
 | 
	
		
			
				|  |  | +  ElCascader,
 | 
	
		
			
				|  |  | +  ElCascaderPanel,
 | 
	
		
			
				|  |  | +  ElCheckTag,
 | 
	
		
			
				|  |  | +  ElCheckbox,
 | 
	
		
			
				|  |  | +  ElCheckboxButton,
 | 
	
		
			
				|  |  | +  ElCheckboxGroup,
 | 
	
		
			
				|  |  | +  ElCol,
 | 
	
		
			
				|  |  | +  ElCollapse,
 | 
	
		
			
				|  |  | +  ElCollapseItem,
 | 
	
		
			
				|  |  | +  ElCollapseTransition,
 | 
	
		
			
				|  |  | +  ElColorPicker,
 | 
	
		
			
				|  |  | +  ElConfigProvider,
 | 
	
		
			
				|  |  | +  ElContainer,
 | 
	
		
			
				|  |  | +  ElAside,
 | 
	
		
			
				|  |  | +  ElFooter,
 | 
	
		
			
				|  |  | +  ElHeader,
 | 
	
		
			
				|  |  | +  ElMain,
 | 
	
		
			
				|  |  | +  ElDatePicker,
 | 
	
		
			
				|  |  | +  ElDescriptions,
 | 
	
		
			
				|  |  | +  ElDescriptionsItem,
 | 
	
		
			
				|  |  | +  ElDialog,
 | 
	
		
			
				|  |  | +  ElDivider,
 | 
	
		
			
				|  |  | +  ElDrawer,
 | 
	
		
			
				|  |  | +  ElDropdown,
 | 
	
		
			
				|  |  | +  ElDropdownItem,
 | 
	
		
			
				|  |  | +  ElDropdownMenu,
 | 
	
		
			
				|  |  | +  ElEmpty,
 | 
	
		
			
				|  |  | +  ElForm,
 | 
	
		
			
				|  |  | +  ElFormItem,
 | 
	
		
			
				|  |  | +  ElIcon,
 | 
	
		
			
				|  |  | +  ElImage,
 | 
	
		
			
				|  |  | +  ElImageViewer,
 | 
	
		
			
				|  |  | +  ElInput,
 | 
	
		
			
				|  |  | +  ElInputNumber,
 | 
	
		
			
				|  |  | +  ElLink,
 | 
	
		
			
				|  |  | +  ElMenu,
 | 
	
		
			
				|  |  | +  ElMenuItem,
 | 
	
		
			
				|  |  | +  ElMenuItemGroup,
 | 
	
		
			
				|  |  | +  ElSubMenu,
 | 
	
		
			
				|  |  | +  ElPageHeader,
 | 
	
		
			
				|  |  | +  ElPagination,
 | 
	
		
			
				|  |  | +  ElPopconfirm,
 | 
	
		
			
				|  |  | +  ElPopover,
 | 
	
		
			
				|  |  | +  ElPopper,
 | 
	
		
			
				|  |  | +  ElProgress,
 | 
	
		
			
				|  |  | +  ElRadio,
 | 
	
		
			
				|  |  | +  ElRadioButton,
 | 
	
		
			
				|  |  | +  ElRadioGroup,
 | 
	
		
			
				|  |  | +  ElRate,
 | 
	
		
			
				|  |  | +  ElResult,
 | 
	
		
			
				|  |  | +  ElRow,
 | 
	
		
			
				|  |  | +  ElScrollbar,
 | 
	
		
			
				|  |  | +  ElSelect,
 | 
	
		
			
				|  |  | +  ElOption,
 | 
	
		
			
				|  |  | +  ElOptionGroup,
 | 
	
		
			
				|  |  | +  ElSelectV2,
 | 
	
		
			
				|  |  | +  ElSkeleton,
 | 
	
		
			
				|  |  | +  ElSkeletonItem,
 | 
	
		
			
				|  |  | +  ElSlider,
 | 
	
		
			
				|  |  | +  ElSpace,
 | 
	
		
			
				|  |  | +  ElStatistic,
 | 
	
		
			
				|  |  | +  ElCountdown,
 | 
	
		
			
				|  |  | +  ElSteps,
 | 
	
		
			
				|  |  | +  ElStep,
 | 
	
		
			
				|  |  | +  ElSwitch,
 | 
	
		
			
				|  |  | +  ElTable,
 | 
	
		
			
				|  |  | +  ElTableColumn,
 | 
	
		
			
				|  |  | +  ElTableV2,
 | 
	
		
			
				|  |  | +  ElTabs,
 | 
	
		
			
				|  |  | +  ElTabPane,
 | 
	
		
			
				|  |  | +  ElTag,
 | 
	
		
			
				|  |  | +  ElText,
 | 
	
		
			
				|  |  | +  ElTimePicker,
 | 
	
		
			
				|  |  | +  ElTimeSelect,
 | 
	
		
			
				|  |  | +  ElTimeline,
 | 
	
		
			
				|  |  | +  ElTimelineItem,
 | 
	
		
			
				|  |  | +  ElTooltip,
 | 
	
		
			
				|  |  | +  ElTransfer,
 | 
	
		
			
				|  |  | +  ElTree,
 | 
	
		
			
				|  |  | +  ElTreeSelect,
 | 
	
		
			
				|  |  | +  ElTreeV2,
 | 
	
		
			
				|  |  | +  ElUpload,
 | 
	
		
			
				|  |  | +  ElWatermark,
 | 
	
		
			
				|  |  | +  ElTour,
 | 
	
		
			
				|  |  | +  ElTourStep,
 | 
	
		
			
				|  |  | +  /**
 | 
	
		
			
				|  |  | +   * 为了方便演示平台将 element-plus 导出的所有插件引入,实际使用中如果你没用到哪个插件,将其注释掉就行
 | 
	
		
			
				|  |  | +   * 导出来源:https://github.com/element-plus/element-plus/blob/dev/packages/element-plus/plugin.ts#L11-L16
 | 
	
		
			
				|  |  | +   * */
 | 
	
		
			
				|  |  | +  ElLoading, // v-loading 指令
 | 
	
		
			
				|  |  | +  ElInfiniteScroll, // v-infinite-scroll 指令
 | 
	
		
			
				|  |  | +  ElPopoverDirective, // v-popover 指令
 | 
	
		
			
				|  |  | +  ElMessage, // $message 全局属性对象globalProperties
 | 
	
		
			
				|  |  | +  ElMessageBox, // $msgbox、$alert、$confirm、$prompt 全局属性对象globalProperties
 | 
	
		
			
				|  |  | +  ElNotification // $notify 全局属性对象globalProperties
 | 
	
		
			
				|  |  | +} from "element-plus";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const components = [
 | 
	
		
			
				|  |  | +  ElAffix,
 | 
	
		
			
				|  |  | +  ElAlert,
 | 
	
		
			
				|  |  | +  ElAutocomplete,
 | 
	
		
			
				|  |  | +  ElAutoResizer,
 | 
	
		
			
				|  |  | +  ElAvatar,
 | 
	
		
			
				|  |  | +  ElBacktop,
 | 
	
		
			
				|  |  | +  ElBadge,
 | 
	
		
			
				|  |  | +  ElBreadcrumb,
 | 
	
		
			
				|  |  | +  ElBreadcrumbItem,
 | 
	
		
			
				|  |  | +  ElButton,
 | 
	
		
			
				|  |  | +  ElButtonGroup,
 | 
	
		
			
				|  |  | +  ElCalendar,
 | 
	
		
			
				|  |  | +  ElCard,
 | 
	
		
			
				|  |  | +  ElCarousel,
 | 
	
		
			
				|  |  | +  ElCarouselItem,
 | 
	
		
			
				|  |  | +  ElCascader,
 | 
	
		
			
				|  |  | +  ElCascaderPanel,
 | 
	
		
			
				|  |  | +  ElCheckTag,
 | 
	
		
			
				|  |  | +  ElCheckbox,
 | 
	
		
			
				|  |  | +  ElCheckboxButton,
 | 
	
		
			
				|  |  | +  ElCheckboxGroup,
 | 
	
		
			
				|  |  | +  ElCol,
 | 
	
		
			
				|  |  | +  ElCollapse,
 | 
	
		
			
				|  |  | +  ElCollapseItem,
 | 
	
		
			
				|  |  | +  ElCollapseTransition,
 | 
	
		
			
				|  |  | +  ElColorPicker,
 | 
	
		
			
				|  |  | +  ElConfigProvider,
 | 
	
		
			
				|  |  | +  ElContainer,
 | 
	
		
			
				|  |  | +  ElAside,
 | 
	
		
			
				|  |  | +  ElFooter,
 | 
	
		
			
				|  |  | +  ElHeader,
 | 
	
		
			
				|  |  | +  ElMain,
 | 
	
		
			
				|  |  | +  ElDatePicker,
 | 
	
		
			
				|  |  | +  ElDescriptions,
 | 
	
		
			
				|  |  | +  ElDescriptionsItem,
 | 
	
		
			
				|  |  | +  ElDialog,
 | 
	
		
			
				|  |  | +  ElDivider,
 | 
	
		
			
				|  |  | +  ElDrawer,
 | 
	
		
			
				|  |  | +  ElDropdown,
 | 
	
		
			
				|  |  | +  ElDropdownItem,
 | 
	
		
			
				|  |  | +  ElDropdownMenu,
 | 
	
		
			
				|  |  | +  ElEmpty,
 | 
	
		
			
				|  |  | +  ElForm,
 | 
	
		
			
				|  |  | +  ElFormItem,
 | 
	
		
			
				|  |  | +  ElIcon,
 | 
	
		
			
				|  |  | +  ElImage,
 | 
	
		
			
				|  |  | +  ElImageViewer,
 | 
	
		
			
				|  |  | +  ElInput,
 | 
	
		
			
				|  |  | +  ElInputNumber,
 | 
	
		
			
				|  |  | +  ElLink,
 | 
	
		
			
				|  |  | +  ElMenu,
 | 
	
		
			
				|  |  | +  ElMenuItem,
 | 
	
		
			
				|  |  | +  ElMenuItemGroup,
 | 
	
		
			
				|  |  | +  ElSubMenu,
 | 
	
		
			
				|  |  | +  ElPageHeader,
 | 
	
		
			
				|  |  | +  ElPagination,
 | 
	
		
			
				|  |  | +  ElPopconfirm,
 | 
	
		
			
				|  |  | +  ElPopover,
 | 
	
		
			
				|  |  | +  ElPopper,
 | 
	
		
			
				|  |  | +  ElProgress,
 | 
	
		
			
				|  |  | +  ElRadio,
 | 
	
		
			
				|  |  | +  ElRadioButton,
 | 
	
		
			
				|  |  | +  ElRadioGroup,
 | 
	
		
			
				|  |  | +  ElRate,
 | 
	
		
			
				|  |  | +  ElResult,
 | 
	
		
			
				|  |  | +  ElRow,
 | 
	
		
			
				|  |  | +  ElScrollbar,
 | 
	
		
			
				|  |  | +  ElSelect,
 | 
	
		
			
				|  |  | +  ElOption,
 | 
	
		
			
				|  |  | +  ElOptionGroup,
 | 
	
		
			
				|  |  | +  ElSelectV2,
 | 
	
		
			
				|  |  | +  ElSkeleton,
 | 
	
		
			
				|  |  | +  ElSkeletonItem,
 | 
	
		
			
				|  |  | +  ElSlider,
 | 
	
		
			
				|  |  | +  ElSpace,
 | 
	
		
			
				|  |  | +  ElStatistic,
 | 
	
		
			
				|  |  | +  ElCountdown,
 | 
	
		
			
				|  |  | +  ElSteps,
 | 
	
		
			
				|  |  | +  ElStep,
 | 
	
		
			
				|  |  | +  ElSwitch,
 | 
	
		
			
				|  |  | +  ElTable,
 | 
	
		
			
				|  |  | +  ElTableColumn,
 | 
	
		
			
				|  |  | +  ElTableV2,
 | 
	
		
			
				|  |  | +  ElTabs,
 | 
	
		
			
				|  |  | +  ElTabPane,
 | 
	
		
			
				|  |  | +  ElTag,
 | 
	
		
			
				|  |  | +  ElText,
 | 
	
		
			
				|  |  | +  ElTimePicker,
 | 
	
		
			
				|  |  | +  ElTimeSelect,
 | 
	
		
			
				|  |  | +  ElTimeline,
 | 
	
		
			
				|  |  | +  ElTimelineItem,
 | 
	
		
			
				|  |  | +  ElTooltip,
 | 
	
		
			
				|  |  | +  ElTransfer,
 | 
	
		
			
				|  |  | +  ElTree,
 | 
	
		
			
				|  |  | +  ElTreeSelect,
 | 
	
		
			
				|  |  | +  ElTreeV2,
 | 
	
		
			
				|  |  | +  ElUpload,
 | 
	
		
			
				|  |  | +  ElWatermark,
 | 
	
		
			
				|  |  | +  ElTour,
 | 
	
		
			
				|  |  | +  ElTourStep
 | 
	
		
			
				|  |  | +];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const plugins = [
 | 
	
		
			
				|  |  | +  ElLoading,
 | 
	
		
			
				|  |  | +  ElInfiniteScroll,
 | 
	
		
			
				|  |  | +  ElPopoverDirective,
 | 
	
		
			
				|  |  | +  ElMessage,
 | 
	
		
			
				|  |  | +  ElMessageBox,
 | 
	
		
			
				|  |  | +  ElNotification
 | 
	
		
			
				|  |  | +];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/** 按需引入`element-plus` */
 | 
	
		
			
				|  |  | +export function useElementPlus(app: App) {
 | 
	
		
			
				|  |  | +  // 全局注册组件
 | 
	
		
			
				|  |  | +  components.forEach((component: Component) => {
 | 
	
		
			
				|  |  | +    app.component(component.name, component);
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  | +  // 全局注册插件
 | 
	
		
			
				|  |  | +  plugins.forEach(plugin => {
 | 
	
		
			
				|  |  | +    app.use(plugin);
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  | +}
 |