--- order: 99 title: zh-CN: 自定义触发器 Debug en-US: Custom trigger debug debug: true --- ## zh-CN 修改内容前,请尝试此 Demo 查看样式是否抖动。 ```tsx import { Layout, Menu, MenuProps } from 'antd'; import { TeamOutlined, UserOutlined, FileOutlined, DesktopOutlined, PieChartOutlined, MenuUnfoldOutlined, MenuFoldOutlined, } from '@ant-design/icons'; const { Header, Sider, Content } = Layout; const items: MenuProps['items'] = [ { key: '1', icon: , label: 'Option 1', }, { key: '2', icon: , label: 'Option 2', }, { key: 'sub1', icon: , label: 'User', children: [ { key: '3', label: 'Tom', }, { key: '4', label: 'Bill', }, { key: '5', label: 'Alex', }, ], }, { key: 'sub2', icon: , label: 'Team', children: [ { key: '6', label: 'Team 1', }, { key: '7', label: 'Team 2', }, ], }, { key: '9', icon: , }, ]; class SiderDemo extends React.Component { state = { collapsed: true, }; toggle = () => { this.setState({ collapsed: !this.state.collapsed, }); }; render() { return (
{React.createElement(this.state.collapsed ? MenuUnfoldOutlined : MenuFoldOutlined, { className: 'trigger', onClick: this.toggle, })}
Content
); } } ReactDOM.render(, mountNode); ``` ```css #components-layout-demo-custom-trigger .trigger { padding: 0 24px; font-size: 18px; line-height: 64px; cursor: pointer; transition: color 0.3s; } #components-layout-demo-custom-trigger .trigger:hover { color: #1890ff; } ```