react18-学习笔记47-基础架构-menu.tsx

import React from "react"
import classNames from 'classnames'
type MenuMode = 'horizontal' | 'vertical'
export interface MenuProps {
/**默认 active 的菜单项的索引值 */
defaultIndex?: string;
className?: string;
/**菜单类型 横向或者纵向 */
mode?: MenuMode;
style?: React.CSSProperties;
/**点击菜单项触发的回掉函数 */
onSelect?: (selectedIndex: string) => void;
children?:any;
}
export const Menu: React.FC<MenuProps> = (props) => {
const { className, mode, style, children, defaultIndex } = props
const classes = classNames('viking-menu', className, {
'menu-vertical': mode === 'vertical',
'menu-horizontal': mode !== 'vertical',
})
return (
<ul className={classes} style={style} data-testid="test-menu">
{children}
</ul>
)
}
Menu.defaultProps = {
defaultIndex: '0',
mode: 'horizontal',
}
export default Menu

posted @   前端导师歌谣  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示