我是React
的新手,我正在尝试从以下页面实现SideNav
:Rsuite SideNav。现在,当我从该页面复制所有代码时,它可以正常工作,但我不了解如何使用“ eventKey”。
我想在Component
的右侧打开一个名为Player.js
的新NavBar
,并且我想为每个不同的选择打开相同的组件,但为其赋予不同的值。
据我了解,您可以通过创建React
,填充并继续传递state
来赋予不同的值。
但是当用户单击选项时,我该在哪里或如何设置呢?
这是该页面上的Sidenav
代码:
class Demo extends React.Component {
constructor() {
super();
this.state = {
expanded: true,
activeKey: '1'
};
this.handleToggle = this.handleToggle.bind(this);
this.handleSelect = this.handleSelect.bind(this);
}
handleToggle() {
this.setState({
expanded: !this.state.expanded
});
}
handleSelect(eventKey) {
this.setState({
activeKey: eventKey
});
}
render() {
const { expanded } = this.state;
return (
<div style={{ width: 250 }}>
<Toggle onChange={this.handleToggle} checked={expanded} />
<hr />
<Sidenav
expanded={expanded}
defaultOpenKeys={['3', '4']}
activeKey={this.state.activeKey}
onSelect={this.handleSelect}
>
<Sidenav.Body>
<Nav>
<Nav.Item eventKey="1" icon={<Icon icon="dashboard" />}>
Dashboard
</Nav.Item>
<Nav.Item eventKey="2" icon={<Icon icon="group" />}>
User Group
</Nav.Item>
<Dropdown
placement="rightTop"
eventKey="3"
title="Advanced"
icon={<Icon icon="magic" />}
>
<Dropdown.Item eventKey="3-1">Geo</Dropdown.Item>
<Dropdown.Item eventKey="3-2">Devices</Dropdown.Item>
<Dropdown.Item eventKey="3-3">Loyalty</Dropdown.Item>
<Dropdown.Item eventKey="3-4">Visit Depth</Dropdown.Item>
</Dropdown>
<Dropdown
placement="rightTop"
eventKey="4"
title="Settings"
icon={<Icon icon="gear-circle" />}
>
<Dropdown.Item eventKey="4-1">Applications</Dropdown.Item>
<Dropdown.Item eventKey="4-2">Channels</Dropdown.Item>
<Dropdown.Item eventKey="4-3">Versions</Dropdown.Item>
<Dropdown.Menu eventKey="4-5" title="Custom Action">
<Dropdown.Item eventKey="4-5-1">Action Name</Dropdown.Item>
<Dropdown.Item eventKey="4-5-2">Action Params</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
</Nav>
</Sidenav.Body>
</Sidenav>
</div>
);
}
}
ReactDOM.render(<Demo />);