React-antd组件库 - 让Menu子菜单项水平排列 - 下拉菜单排序 - 自定义子菜单展示方式

效果图

依据

导航菜单 Menu - Ant Design为页面和功能提供导航的菜单列表。https://ant-design.antgroup.com/components/menu-cn#submenutype关键:SubMenuType的popupClassName是子菜单样式 = hover弹出二级菜单的dom外部类名

步骤(思路1)

  1. <Menu items={xxItems}/>

  2. 定义选项,指定二级菜单的popupClassName,可多个

    javascript 复制代码
    const xxItems = [
        {
            label: '尺寸',
            key: 'size',
            popupClassName: 'xxxclass max-w-sm',
            children: [
                {
                    key: 's1',
                    label: '1:1'
                },
                {
                    key: 's2',
                    label: '3:4'
                }
            ]
        }
    ];
  3. 在自己的css中定义"xxxclass"以及二级菜单弹窗的dom的样式,下面有ul > li,设置:

    css 复制代码
    .xxxclass {
      width: 100% !important;
    }
    
    .xxxclass>ul {
      display: flex;
      flex-wrap: wrap;
    }
    .xxxclass>ul>li {
      display: inline-block;
      width: auto!important;
    }
  4. OK

步骤(思路2)

不要把弹出窗塞到menu,自己另写一个独立的悬浮DOM,使用变量控制显示;

然后:menu的某按钮的点击事件 > 修改变量 > 显示悬浮DOM > 自己关闭此DOM

坏处:... 不大好衔接

好处:随便定义样式,图标、图片、标题随便弄

相关推荐
同志3271330 分钟前
用HTML+CSS做了一个网易云音乐客户端首页
前端·css
小猪欧巴哟31 分钟前
pnpm install 安装项目依赖遇到 illegal operation on a directory, symlink 问题
前端·vue.js
独角仙梦境32 分钟前
🚀🚀🚀学习这个思路,你也能手撸自己的专属vip脚手架🚀🚀🚀
前端
CJWbiu35 分钟前
Github Action + docker 实现自动化部署
前端·自动化运维
关山35 分钟前
在TS中如何在子进程中动态实例化一个类
前端
吃瓜群众i36 分钟前
兼容IE8浏览器的8个实用知识点
前端·javascript
前端烨39 分钟前
vue3子传父——v-model辅助值传递
前端·vue3·组件传值
Mintopia1 小时前
Three.js 在数字孪生中的应用场景教学
前端·javascript·three.js
夕水1 小时前
自动化按需导入组件库的工具rust版本完成开源了
前端·rust·trae
JarvanMo2 小时前
借助FlutterFire CLI实现Flutter与Firebase的多环境配置
前端·flutter