index.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { MenuFoldOutlined, MenuUnfoldOutlined } from "@ant-design/icons";
  2. import { useEmotionCss } from "@ant-design/use-emotion-css";
  3. import { Tooltip } from "antd";
  4. const MenuFooter: React.FC<{ collapsed: boolean; onClick: () => void; }> = ({ collapsed, onClick }) => {
  5. const className = useEmotionCss(({ token }) => {
  6. return {
  7. paddingInline: token.paddingXS,
  8. paddingBlock: token.paddingXS,
  9. marginTop: token.marginXS,
  10. marginBottom: -token.marginXS,
  11. display: 'flex',
  12. flexDirection: 'row',
  13. alignItems: 'center',
  14. justifyContent: 'center',
  15. borderRadius: token.borderRadius,
  16. cursor: 'pointer',
  17. ':hover': {
  18. backgroundColor: token.colorBgContainer,
  19. },
  20. '.menu-footer-text': {
  21. paddingLeft: token.paddingXS,
  22. },
  23. };
  24. });
  25. return (
  26. <Tooltip
  27. placement="right"
  28. title={collapsed ? null : '展开菜单'}
  29. >
  30. <div onClick={onClick} className={className}>
  31. {collapsed ? <MenuFoldOutlined /> : <MenuUnfoldOutlined />}
  32. {collapsed && <span className="menu-footer-text">收起菜单</span>}
  33. </div>
  34. </Tooltip>
  35. );
  36. }
  37. export default MenuFooter;