fix(LayoutSidre): resolve the breakpoint conflict. resolve #3605

* fix(LayoutSidre): resolve the breakpoint conflict

* docs: update comment

* fix(LayoutSider): add trigger footer limit
This commit is contained in:
xachary
2024-02-23 09:32:14 +08:00
committed by GitHub
parent b7944690d1
commit 1a7ae0e810

View File

@@ -4,17 +4,27 @@
v-show="showClassSideBarRef"
:style="getHiddenDomStyle"
></div>
<!--
针对场景菜单折叠按钮为底部
关于 breakpoint
组件定义的是 lg: '992px'
vben 定义的是 lg: '960px'
现把组件的 breakpoint 设为 md
则组件的 md: '768px' < vben的 lg: '960px'
防止 collapsedWidth 960px ~ 992px 之间错误设置为 0
从而防止出现浮动的 trigger且breakpoint事件失效
-->
<Layout.Sider
v-show="showClassSideBarRef"
ref="sideRef"
breakpoint="lg"
:breakpoint="getTrigger === TriggerEnum.FOOTER ? 'md' : 'lg'"
collapsible
:class="getSiderClass"
:width="getMenuWidth"
:collapsed="getCollapsed"
:collapsedWidth="getCollapsedWidth"
:theme="getMenuTheme"
:trigger="getTrigger"
:trigger="triggerVNode"
v-bind="getTriggerAttr"
@breakpoint="onBreakpointChange"
>
@@ -29,7 +39,7 @@
import { Layout } from 'ant-design-vue';
import { computed, CSSProperties, h, ref, unref } from 'vue';
import { MenuModeEnum, MenuSplitTyeEnum } from '@/enums/menuEnum';
import { MenuModeEnum, MenuSplitTyeEnum, TriggerEnum } from '@/enums/menuEnum';
import { useMenuSetting } from '@/hooks/setting/useMenuSetting';
import { useAppInject } from '@/hooks/web/useAppInject';
import { useDesign } from '@/hooks/web/useDesign';
@@ -53,6 +63,7 @@
getMenuHidden,
getMenuFixed,
getIsMixMode,
getTrigger,
} = useMenuSetting();
const { prefixCls } = useDesign('layout-sideBar');
@@ -101,7 +112,7 @@
// 在此处使用计算量可能会导致sider异常
// andv 更新后如果trigger插槽可用则此处代码可废弃
const getTrigger = h(LayoutTrigger);
const triggerVNode = h(LayoutTrigger);
</script>
<style lang="less">
@prefix-cls: ~'@{namespace}-layout-sideBar';