ant-design/components/drawer/demo/multi-level-drawer.md

86 lines
1.6 KiB
Markdown
Raw Normal View History

2018-06-30 12:32:55 +08:00
---
order: 5
title:
zh-CN: 多层抽屉
en-US: Multi-level drawer
---
## zh-CN
在抽屉内打开新的抽屉,用以解决多分支任务的复杂状况。
## en-US
2019-04-19 20:59:45 +08:00
Open a new drawer on top of an existing drawer to handle multi branch tasks.
2018-06-30 12:32:55 +08:00
```jsx
import { Drawer, Button } from 'antd';
2018-06-30 12:32:55 +08:00
class App extends React.Component {
2018-06-30 12:32:55 +08:00
state = { visible: false, childrenDrawer: false };
2018-07-04 08:29:42 +08:00
2018-06-30 12:32:55 +08:00
showDrawer = () => {
this.setState({
visible: true,
});
};
2018-07-04 08:29:42 +08:00
2018-06-30 12:32:55 +08:00
onClose = () => {
this.setState({
visible: false,
});
};
2018-07-04 08:29:42 +08:00
2018-06-30 12:32:55 +08:00
showChildrenDrawer = () => {
this.setState({
childrenDrawer: true,
});
};
2018-07-04 08:29:42 +08:00
2018-06-30 12:32:55 +08:00
onChildrenDrawerClose = () => {
this.setState({
childrenDrawer: false,
});
};
2018-07-04 08:29:42 +08:00
2018-06-30 12:32:55 +08:00
render() {
return (
<>
2018-06-30 12:32:55 +08:00
<Button type="primary" onClick={this.showDrawer}>
Open drawer
2018-06-30 12:32:55 +08:00
</Button>
<Drawer
title="Multi-level drawer"
2018-06-30 12:32:55 +08:00
width={520}
closable={false}
onClose={this.onClose}
visible={this.state.visible}
>
<Button type="primary" onClick={this.showChildrenDrawer}>
Two-level drawer
</Button>
2018-06-30 12:32:55 +08:00
<Drawer
title="Two-level Drawer"
2018-06-30 12:32:55 +08:00
width={320}
closable={false}
onClose={this.onChildrenDrawerClose}
visible={this.state.childrenDrawer}
>
This is two-level drawer
2018-06-30 12:32:55 +08:00
</Drawer>
</Drawer>
</>
2018-06-30 12:32:55 +08:00
);
}
}
2018-07-02 12:27:06 +08:00
ReactDOM.render(<App />, mountNode);
2018-06-30 12:32:55 +08:00
```
2019-12-25 18:06:50 +08:00
<style>
[data-theme="dark"] .site-multi-level-drawer-footer {
border-top: 1px solid #303030;
background: #1f1f1f;
}
</style>