import React, { useContext } from 'react'; import classnames from 'classnames'; import { DownOutlined, EllipsisOutlined } from '@ant-design/icons'; import type { MenuItemProps } from 'antd'; import { Dropdown, Menu, Button, ConfigProvider } from 'antd'; import './index.less'; interface MenuItems extends MenuItemProps { name: React.ReactNode; key: string; } export type DropdownProps = { className?: string; style?: React.CSSProperties; menus?: MenuItems[]; onSelect?: (key: string) => void; }; /** * 一个简单的下拉菜单 * * @param param0 */ const DropdownButton: React.FC = ({ children, menus, onSelect, className, style, }) => { const { getPrefixCls } = useContext(ConfigProvider.ConfigContext); const tempClassName = getPrefixCls('pro-table-dropdown'); const menu = ( onSelect && onSelect(params.key as string)}> {menus?.map((item) => ( {item.name} ))} ); return ( ); }; const TableDropdown: React.FC & { Button: typeof DropdownButton; } = ({ className: propsClassName, style, onSelect, menus = [] }) => { const { getPrefixCls } = useContext(ConfigProvider.ConfigContext); const className = getPrefixCls('pro-table-dropdown'); const menu = ( onSelect && onSelect(params.key as string)}> {menus.map(({ key, name, ...rest }) => ( {name} ))} ); return ( ); }; TableDropdown.Button = DropdownButton; export default TableDropdown;