registerGlobComp.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import Icon from './Icon/index';
  2. import { Button } from './Button';
  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. Avatar,
  34. Menu,
  35. Breadcrumb,
  36. } from 'ant-design-vue';
  37. import { getApp } from '/@/setup/App';
  38. const compList = [Icon, Button, AntButton.Group];
  39. // Fix hmr multiple registered components
  40. let registered = false;
  41. export function registerGlobComp() {
  42. if (registered) return;
  43. compList.forEach((comp: any) => {
  44. getApp().component(comp.name, comp);
  45. });
  46. registered = true;
  47. // Optional
  48. // Why register here: The main reason for registering here is not to increase the size of the first screen code
  49. // If you need to customize global components, you can write here
  50. // If you don’t need it, you can delete it
  51. getApp()
  52. .use(Select)
  53. .use(Alert)
  54. .use(Breadcrumb)
  55. .use(Checkbox)
  56. .use(DatePicker)
  57. .use(Radio)
  58. .use(Switch)
  59. .use(Card)
  60. .use(List)
  61. .use(Descriptions)
  62. .use(Tree)
  63. .use(Table)
  64. .use(Divider)
  65. .use(Modal)
  66. .use(Drawer)
  67. .use(Dropdown)
  68. .use(Tag)
  69. .use(Tooltip)
  70. .use(Badge)
  71. .use(Popover)
  72. .use(Upload)
  73. .use(Transfer)
  74. .use(Steps)
  75. .use(PageHeader)
  76. .use(Result)
  77. .use(Empty)
  78. .use(Avatar)
  79. .use(Menu)
  80. .use(Tabs);
  81. }