React-antd组件库 - 让Menu子菜单项水平排列 - 下拉菜单排序 - 自定义子菜单展示方式
效果图
依据
导航菜单 Menu - Ant Design为页面和功能提供导航的菜单列表。https://ant-design.antgroup.com/components/menu-cn#submenutype关键:SubMenuType的popupClassName是子菜单样式 = hover弹出二级菜单的dom外部类名
步骤(思路1)
-
<Menu items={xxItems}/>
-
定义选项,指定二级菜单的popupClassName,可多个
const xxItems = [ { label: '尺寸', key: 'size', popupClassName: 'xxxclass max-w-sm', children: [ { key: 's1', label: '1:1' }, { key: 's2', label: '3:4' } ] } ];
-
在自己的css中定义"xxxclass"以及二级菜单弹窗的dom的样式,下面有ul > li,设置:
.xxxclass { width: 100% !important; } .xxxclass>ul { display: flex; flex-wrap: wrap; } .xxxclass>ul>li { display: inline-block; width: auto!important; }
-
OK
步骤(思路2)
不要把弹出窗塞到menu,自己另写一个独立的悬浮DOM,使用变量控制显示;
然后:menu的某按钮的点击事件 > 修改变量 > 显示悬浮DOM > 自己关闭此DOM
坏处:... 不大好衔接
好处:随便定义样式,图标、图片、标题随便弄