import './index.less'; import { computed, defineComponent, ref, unref } from 'vue'; import { Layout } from 'ant-design-vue'; import LayoutMenu from '/@/layouts/default/menu/LayoutMenu'; import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum'; import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; import { useTrigger, useDragLine, useSiderEvent } from './useLayoutSider'; export default defineComponent({ name: 'LayoutSideBar', setup() { const dragBarRef = ref>(null); const sideRef = ref>(null); const { getCollapsed, getMenuWidth, getSplit, getTheme } = useMenuSetting(); const { getTriggerAttr, getTriggerSlot } = useTrigger(); const { renderDragLine } = useDragLine(sideRef, dragBarRef); const { getCollapsedWidth, onBreakpointChange, onCollapseChange, onSiderClick, } = useSiderEvent(); const getMode = computed(() => { return unref(getSplit) ? MenuModeEnum.INLINE : null; }); const getSplitType = computed(() => { return unref(getSplit) ? MenuSplitTyeEnum.LEFT : MenuSplitTyeEnum.NONE; }); function renderDefault() { return ( <> {renderDragLine()} ); } return () => { return ( {{ ...unref(getTriggerSlot), default: () => renderDefault(), }} ); }; }, });