registerGlobComp.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import Icon from './Icon/index';
  2. import Button from './Button/index.vue';
  3. import {
  4. // Need
  5. Button as AntButton,
  6. // Optional
  7. Select,
  8. Alert,
  9. Checkbox,
  10. DatePicker,
  11. Radio,
  12. Switch,
  13. Card,
  14. List,
  15. Tabs,
  16. Descriptions,
  17. Tree,
  18. Table,
  19. Divider,
  20. Modal,
  21. Drawer,
  22. Dropdown,
  23. Tag,
  24. Tooltip,
  25. Badge,
  26. Popover,
  27. Upload,
  28. Transfer,
  29. Steps,
  30. PageHeader,
  31. Result,
  32. Empty,
  33. } from 'ant-design-vue';
  34. import { getApp } from '/@/setup/App';
  35. const compList = [Icon, Button, AntButton.Group];
  36. // Fix hmr multiple registered components
  37. let registered = false;
  38. export function registerGlobComp() {
  39. if (registered) return;
  40. compList.forEach((comp: any) => {
  41. getApp().component(comp.name, comp);
  42. });
  43. registered = true;
  44. // Optional
  45. // Why register here: The main reason for registering here is not to increase the size of the first screen code
  46. // If you need to customize global components, you can write here
  47. // If you don’t need it, you can delete it
  48. getApp()
  49. .use(Select)
  50. .use(Alert)
  51. .use(Checkbox)
  52. .use(DatePicker)
  53. .use(Radio)
  54. .use(Switch)
  55. .use(Card)
  56. .use(List)
  57. .use(Descriptions)
  58. .use(Tree)
  59. .use(Table)
  60. .use(Divider)
  61. .use(Modal)
  62. .use(Drawer)
  63. .use(Dropdown)
  64. .use(Tag)
  65. .use(Tooltip)
  66. .use(Badge)
  67. .use(Popover)
  68. .use(Upload)
  69. .use(Transfer)
  70. .use(Steps)
  71. .use(PageHeader)
  72. .use(Result)
  73. .use(Empty)
  74. .use(Tabs);
  75. }