vueComponent / pro-components

easy use `Ant Design Vue` layout
MIT License
535 stars 214 forks source link

[Feature] 希望mix菜单模式下,能够将侧边栏菜单设置成黑色 #178

Closed candy-Tong closed 2 years ago

candy-Tong commented 2 years ago

🥰 需求描述 Description of Requirement

现在mix菜单,侧边栏只能是 light

// 代码链接 https://github.com/vueComponent/pro-layout/blob/next/src/SiderMenu/SiderMenu.tsx#L163
const sTheme = computed(() => (props.layout === 'mix' && 'light') || props.navTheme);

希望能够支持黑色

🧐 解决方案 Solution

  1. 使用 props.navTheme

    const sTheme = computed(() => props.navTheme);

    不过这种方法会导致,原来黑色主题的左侧 mix 菜单,变成黑色 另外也不知道作者原来将 mix 菜单固定为 light 的动机,也会有特殊的原因

  2. 新增配置 menuTheme

    const sTheme = computed(() => (props.layout === 'mix' && props.menuTheme) || props.navTheme);

    menuTheme 默认为 light。

sendya commented 2 years ago

image

设计如此

sendya commented 2 years ago

设计稿定下来的 mix 模式下,顶部一定是 黑色,侧栏一定是 白色。如果要都黑的,直接暗黑模式的主题处理即可。 如果不符合你的视觉效果,可以 fork 自行改一下使用