1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import type { LayoutType } from '@vben-core/typings';
- import type { VbenLayoutProps } from '../vben-layout';
- import { computed } from 'vue';
- export function useLayout(props: VbenLayoutProps) {
- const currentLayout = computed(() =>
- props.isMobile ? 'sidebar-nav' : (props.layout as LayoutType),
- );
- /**
- * 是否全屏显示content,不需要侧边、底部、顶部、tab区域
- */
- const isFullContent = computed(() => currentLayout.value === 'full-content');
- /**
- * 是否侧边混合模式
- */
- const isSidebarMixedNav = computed(
- () => currentLayout.value === 'sidebar-mixed-nav',
- );
- /**
- * 是否为头部导航模式
- */
- const isHeaderNav = computed(() => currentLayout.value === 'header-nav');
- /**
- * 是否为混合导航模式
- */
- const isMixedNav = computed(() => currentLayout.value === 'mixed-nav');
- return {
- currentLayout,
- isFullContent,
- isHeaderNav,
- isMixedNav,
- isSidebarMixedNav,
- };
- }
|