vue-vben-admin/src/components/registerGlobComp.ts

73 lines
1.3 KiB
TypeScript
Raw Normal View History

2020-09-28 20:19:10 +08:00
import Icon from './Icon/index';
import Button from './Button/index.vue';
import {
// Need
Button as AntButton,
// Optional
Select,
Checkbox,
DatePicker,
Radio,
Switch,
Card,
List,
Tabs,
Descriptions,
Tree,
Table,
Divider,
Modal,
Drawer,
Dropdown,
Tag,
Tooltip,
Badge,
Popover,
Upload,
Transfer,
Steps,
} from 'ant-design-vue';
import { getApp } from '/@/useApp';
2020-09-28 20:19:10 +08:00
const compList = [Icon, Button, AntButton.Group];
// Fix hmr multiple registered components
let registered = false;
export function registerGlobComp() {
if (registered) return;
2020-09-28 20:19:10 +08:00
compList.forEach((comp: any) => {
getApp().component(comp.name, comp);
2020-09-28 20:19:10 +08:00
});
registered = true;
// Optional
// Why register here The main reason for registering here is not to increase the size of the first screen code
// If you need to customize global components, you can write here
// If you dont need it, you can delete it
getApp()
.use(Select)
.use(Checkbox)
.use(DatePicker)
.use(Radio)
.use(Switch)
.use(Card)
.use(List)
.use(Descriptions)
.use(Tree)
.use(Table)
.use(Divider)
.use(Modal)
.use(Drawer)
.use(Dropdown)
.use(Tag)
.use(Tooltip)
.use(Badge)
.use(Popover)
.use(Upload)
.use(Transfer)
.use(Steps)
.use(Tabs);
2020-09-28 20:19:10 +08:00
}