index.vue 676 B

123456789101112131415161718192021
  1. <template>
  2. <SiderTrigger v-if="sider" />
  3. <HeaderTrigger v-else :theme="theme" />
  4. </template>
  5. <script lang="ts">
  6. import { defineComponent } from 'vue';
  7. import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
  8. import { propTypes } from '/@/utils/propTypes';
  9. export default defineComponent({
  10. name: 'LayoutTrigger',
  11. components: {
  12. SiderTrigger: createAsyncComponent(() => import('./SiderTrigger.vue')),
  13. HeaderTrigger: createAsyncComponent(() => import('./HeaderTrigger.vue'), { loading: true }),
  14. },
  15. props: {
  16. sider: propTypes.bool.def(true),
  17. theme: propTypes.oneOf(['light', 'dark']),
  18. },
  19. });
  20. </script>