提交 5737e478 作者: vben

feat: add collapsedShowTitle setting

上级 a3b7a653
...@@ -152,7 +152,13 @@ export default defineComponent({ ...@@ -152,7 +152,13 @@ export default defineComponent({
const { appendClass } = props; const { appendClass } = props;
const levelCls = `basic-menu-item__level${index} ${menuState.theme} `; const levelCls = `basic-menu-item__level${index} ${menuState.theme} `;
const showTitle = props.isAppMenu ? !menuStore.getCollapsedState : true; const showTitle = computed(() => {
if (!props.isAppMenu) return true;
if (!props.collapsedShowTitle) {
return !menuStore.getCollapsedState;
}
return true;
});
return menuList.map((menu) => { return menuList.map((menu) => {
if (!menu) { if (!menu) {
return null; return null;
...@@ -172,7 +178,7 @@ export default defineComponent({ ...@@ -172,7 +178,7 @@ export default defineComponent({
<MenuContent <MenuContent
item={menu} item={menu}
level={index} level={index}
showTitle={showTitle} showTitle={unref(showTitle)}
searchValue={menuState.searchValue} searchValue={menuState.searchValue}
/>, />,
]} ]}
...@@ -184,7 +190,7 @@ export default defineComponent({ ...@@ -184,7 +190,7 @@ export default defineComponent({
{{ {{
title: () => [ title: () => [
<MenuContent <MenuContent
showTitle={showTitle} showTitle={unref(showTitle)}
item={menu} item={menu}
level={index} level={index}
searchValue={menuState.searchValue} searchValue={menuState.searchValue}
...@@ -218,7 +224,11 @@ export default defineComponent({ ...@@ -218,7 +224,11 @@ export default defineComponent({
inlineIndent={props.inlineIndent} inlineIndent={props.inlineIndent}
theme={unref(theme)} theme={unref(theme)}
onOpenChange={handleOpenChange} onOpenChange={handleOpenChange}
class={['basic-menu', unref(transparentMenuClass)]} class={[
'basic-menu',
props.collapsedShowTitle && 'collapsed-show-title',
unref(transparentMenuClass),
]}
{...inlineCollapsedObj} {...inlineCollapsedObj}
> >
{{ {{
......
...@@ -14,6 +14,15 @@ ...@@ -14,6 +14,15 @@
} }
.basic-menu { .basic-menu {
&.collapsed-show-title.ant-menu-inline-collapsed {
& > li > .ant-menu-submenu-title {
display: flex;
margin-top: 12px;
font-size: 12px;
flex-direction: column;
}
}
&__wrap { &__wrap {
/* 滚动槽 */ /* 滚动槽 */
&::-webkit-scrollbar { &::-webkit-scrollbar {
......
...@@ -11,6 +11,10 @@ export const basicProps = { ...@@ -11,6 +11,10 @@ export const basicProps = {
type: Boolean as PropType<boolean>, type: Boolean as PropType<boolean>,
default: false, default: false,
}, },
collapsedShowTitle: {
type: Boolean as PropType<boolean>,
default: false,
},
flatItems: { flatItems: {
type: Array as PropType<Menu[]>, type: Array as PropType<Menu[]>,
default: () => [], default: () => [],
......
...@@ -199,6 +199,7 @@ export default defineComponent({ ...@@ -199,6 +199,7 @@ export default defineComponent({
} }
} }
} }
/** /**
* @description: 设置modal参数 * @description: 设置modal参数
*/ */
......
...@@ -177,7 +177,7 @@ export default defineComponent({ ...@@ -177,7 +177,7 @@ export default defineComponent({
return () => { return () => {
const { const {
showLogo, showLogo,
menuSetting: { type: menuType, mode, theme, collapsed }, menuSetting: { type: menuType, mode, theme, collapsed, collapsedShowTitle },
} = unref(getProjectConfigRef); } = unref(getProjectConfigRef);
const isSidebarType = menuType === MenuTypeEnum.SIDEBAR; const isSidebarType = menuType === MenuTypeEnum.SIDEBAR;
...@@ -190,6 +190,7 @@ export default defineComponent({ ...@@ -190,6 +190,7 @@ export default defineComponent({
type={menuType} type={menuType}
mode={props.menuMode || mode} mode={props.menuMode || mode}
class="layout-menu" class="layout-menu"
collapsedShowTitle={collapsedShowTitle}
theme={themeData} theme={themeData}
showLogo={isShowLogo} showLogo={isShowLogo}
search={unref(showSearchRef) && !collapsed} search={unref(showSearchRef) && !collapsed}
......
...@@ -208,7 +208,14 @@ export default defineComponent({ ...@@ -208,7 +208,14 @@ export default defineComponent({
const { const {
contentMode, contentMode,
headerSetting: { fixed }, headerSetting: { fixed },
menuSetting: { hasDrag, collapsed, showSearch, menuWidth, topMenuAlign } = {}, menuSetting: {
hasDrag,
collapsed,
showSearch,
menuWidth,
topMenuAlign,
collapsedShowTitle,
} = {},
} = appStore.getProjectConfig; } = appStore.getProjectConfig;
return [ return [
renderSwitchItem('侧边菜单拖拽', { renderSwitchItem('侧边菜单拖拽', {
...@@ -232,6 +239,13 @@ export default defineComponent({ ...@@ -232,6 +239,13 @@ export default defineComponent({
def: collapsed, def: collapsed,
disabled: !unref(getShowMenuRef), disabled: !unref(getShowMenuRef),
}), }),
renderSwitchItem('折叠菜单显示名称', {
handler: (e) => {
baseHandler('collapsedShowTitle', e);
},
def: collapsedShowTitle,
disabled: !unref(getShowMenuRef) || !collapsed,
}),
renderSwitchItem('固定header', { renderSwitchItem('固定header', {
handler: (e) => { handler: (e) => {
...@@ -449,6 +463,13 @@ export default defineComponent({ ...@@ -449,6 +463,13 @@ export default defineComponent({
}, },
}; };
} }
if (event === 'collapsedShowTitle') {
config = {
menuSetting: {
collapsedShowTitle: value,
},
};
}
if (event === 'lockTime') { if (event === 'lockTime') {
config = { config = {
lockTime: value, lockTime: value,
......
...@@ -44,6 +44,8 @@ const setting: ProjectConfig = { ...@@ -44,6 +44,8 @@ const setting: ProjectConfig = {
menuSetting: { menuSetting: {
// 菜单折叠 // 菜单折叠
collapsed: false, collapsed: false,
// 折叠菜单时候是否显示菜单名
collapsedShowTitle: false,
// 是否可拖拽 // 是否可拖拽
hasDrag: true, hasDrag: true,
// 是否显示 // 是否显示
......
...@@ -11,6 +11,7 @@ export interface MessageSetting { ...@@ -11,6 +11,7 @@ export interface MessageSetting {
} }
export interface MenuSetting { export interface MenuSetting {
collapsed: boolean; collapsed: boolean;
collapsedShowTitle: boolean;
hasDrag: boolean; hasDrag: boolean;
showSearch: boolean; showSearch: boolean;
show: boolean; show: boolean;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论