HeaderTrigger.vue 898 B

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