Skip to content

Commit

Permalink
fix(menu): fix scrillbar not work
Browse files Browse the repository at this point in the history
  • Loading branch information
anncwb committed Dec 16, 2020
1 parent 689425e commit de25557
Show file tree
Hide file tree
Showing 11 changed files with 204 additions and 157 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.zh_CN.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## Wip

### 🐛 Bug Fixes

- 修复混合模式下滚动条丢失问题

## 2.0.0-rc.14 (2020-12-15)

### ✨ Features
Expand Down
3 changes: 2 additions & 1 deletion src/components/Menu/src/BasicMenu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,10 @@
});
const getMenuClass = computed(() => {
const align = props.isHorizontal && unref(getSplit) ? 'start' : unref(getTopMenuAlign);
return [
prefixCls,
`justify-${unref(getTopMenuAlign)}`,
`justify-${align}`,
{
[`${prefixCls}--hide-title`]: !unref(showTitle),
[`${prefixCls}--collapsed-show-title`]: props.collapsedShowTitle,
Expand Down
18 changes: 17 additions & 1 deletion src/layouts/default/header/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
v-if="getShowHeaderLogo || getIsMobile"
:class="`${prefixCls}-logo`"
:theme="getHeaderTheme"
:style="getLogoWidth"
/>
<LayoutTrigger
v-if="(getShowContent && getShowHeaderTrigger && !getSplit) || getIsMobile"
Expand Down Expand Up @@ -103,7 +104,13 @@
},
setup(props) {
const { prefixCls } = useDesign('layout-header');
const { getShowTopMenu, getShowHeaderTrigger, getSplit } = useMenuSetting();
const {
getShowTopMenu,
getShowHeaderTrigger,
getSplit,
getIsMixMode,
getMenuWidth,
} = useMenuSetting();
const { getShowLocale } = useLocaleSetting();
const { getUseErrorHandle } = useRootSetting();
Expand Down Expand Up @@ -131,6 +138,14 @@
];
});
const getLogoWidth = computed(() => {
if (!unref(getIsMixMode)) {
return {};
}
const width = unref(getMenuWidth) < 180 ? 180 : unref(getMenuWidth);
return { width: `${width}px` };
});
const getSplitType = computed(() => {
return unref(getSplit) ? MenuSplitTyeEnum.TOP : MenuSplitTyeEnum.NONE;
});
Expand All @@ -157,6 +172,7 @@
getShowNotice,
getUseLockPage,
getUseErrorHandle,
getLogoWidth,
};
},
});
Expand Down
8 changes: 7 additions & 1 deletion src/layouts/default/menu/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ export default defineComponent({
getMenuTheme,
getCollapsed,
getAccordion,
getIsHorizontal,
getIsSidebarType,
} = useMenuSetting();
const { getShowLogo } = useRootSetting();
Expand All @@ -66,7 +67,12 @@ export default defineComponent({
const getIsShowLogo = computed(() => unref(getShowLogo) && unref(getIsSidebarType));

const getUseScroll = computed(() => {
return unref(getIsSidebarType) || props.splitType === MenuSplitTyeEnum.LEFT;
return (
!unref(getIsHorizontal) &&
(unref(getIsSidebarType) ||
props.splitType === MenuSplitTyeEnum.LEFT ||
props.splitType === MenuSplitTyeEnum.NONE)
);
});

const getWrapperStyle = computed(
Expand Down
20 changes: 15 additions & 5 deletions src/layouts/default/setting/SettingDrawer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
InputNumberItem,
} from './components';

import { MenuTypeEnum } from '/@/enums/menuEnum';
import { MenuTypeEnum, TriggerEnum } from '/@/enums/menuEnum';

import { useRootSetting } from '/@/hooks/setting/useRootSetting';
import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
Expand All @@ -25,7 +25,7 @@ import {
HandlerEnum,
contentModeOptions,
topMenuAlignOptions,
menuTriggerOptions,
getMenuTriggerOptions,
routerTransitionOptions,
menuTypeList,
} from './enum';
Expand Down Expand Up @@ -134,6 +134,14 @@ export default defineComponent({
* @description:
*/
function renderFeatures() {
let triggerDef = unref(getTrigger);

const triggerOptions = getMenuTriggerOptions(unref(getSplit));
const some = triggerOptions.some((item) => item.value === triggerDef);
if (!some) {
triggerDef = TriggerEnum.FOOTER;
}

return (
<>
<SwitchItem
Expand Down Expand Up @@ -183,13 +191,15 @@ export default defineComponent({
event={HandlerEnum.MENU_TOP_ALIGN}
def={unref(getTopMenuAlign)}
options={topMenuAlignOptions}
disabled={!unref(getShowHeader) || (!unref(getIsTopMenu) && !unref(getSplit))}
disabled={
!unref(getShowHeader) || unref(getSplit) || (!unref(getIsTopMenu) && !unref(getSplit))
}
/>
<SelectItem
title={t('layout.setting.menuCollapseButton')}
event={HandlerEnum.MENU_TRIGGER}
def={unref(getTrigger)}
options={menuTriggerOptions}
def={triggerDef}
options={triggerOptions}
disabled={!unref(getShowMenuRef)}
/>
<SelectItem
Expand Down
34 changes: 20 additions & 14 deletions src/layouts/default/setting/enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,20 +76,26 @@ export const topMenuAlignOptions = [
},
];

export const menuTriggerOptions = [
{
value: TriggerEnum.NONE,
label: t('layout.setting.menuTriggerNone'),
},
{
value: TriggerEnum.FOOTER,
label: t('layout.setting.menuTriggerBottom'),
},
{
value: TriggerEnum.HEADER,
label: t('layout.setting.menuTriggerTop'),
},
];
export const getMenuTriggerOptions = (hideTop: boolean) => {
return [
{
value: TriggerEnum.NONE,
label: t('layout.setting.menuTriggerNone'),
},
{
value: TriggerEnum.FOOTER,
label: t('layout.setting.menuTriggerBottom'),
},
...(hideTop
? []
: [
{
value: TriggerEnum.HEADER,
label: t('layout.setting.menuTriggerTop'),
},
]),
];
};

export const routerTransitionOptions = [
RouterTransitionEnum.ZOOM_FADE,
Expand Down
1 change: 1 addition & 0 deletions src/layouts/default/setting/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export function handler(event: HandlerEnum, value: any): DeepPartial<ProjectConf
type,
collapsed: false,
show: true,
hidden: false,
...splitOpt,
},
};
Expand Down
121 changes: 0 additions & 121 deletions src/layouts/default/sider/LayoutSider.tsx

This file was deleted.

Loading

0 comments on commit de25557

Please sign in to comment.