HeaderTrigger.vue 892 B

1234567891011121314151617181920212223
  1. <template>
  2. <span :class="[prefixCls, theme]" @click="toggleCollapsed"> <MenuUnfoldOutlined v-if="getCollapsed" /> <MenuFoldOutlined v-else /> </span>
  3. </template>
  4. <script lang="ts">
  5. import { defineComponent } from 'vue';
  6. import { MenuUnfoldOutlined, MenuFoldOutlined } from '@ant-design/icons-vue';
  7. import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
  8. import { useDesign } from '/@/hooks/web/useDesign';
  9. import { propTypes } from '/@/utils/propTypes';
  10. export default defineComponent({
  11. name: 'HeaderTrigger',
  12. components: { MenuUnfoldOutlined, MenuFoldOutlined },
  13. props: {
  14. theme: propTypes.oneOf(['light', 'dark']),
  15. },
  16. setup() {
  17. const { getCollapsed, toggleCollapsed } = useMenuSetting();
  18. const { prefixCls } = useDesign('layout-header-trigger');
  19. return { getCollapsed, toggleCollapsed, prefixCls };
  20. },
  21. });
  22. </script>