Skip to content

Commit 642a2b5

Browse files
committed
Extend menu theme demo to additionally demonstrate Sub-menu theming
1 parent 120e2fe commit 642a2b5

File tree

1 file changed

+29
-8
lines changed

1 file changed

+29
-8
lines changed

components/menu/demo/theme.md

+29-8
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ title:
1111

1212
## en-US
1313

14-
There are two built-in themes: `light` and `dark`. The default value is `light`.
14+
There are two built-in themes: `light` and `dark`. The default value is `light`. They can be applied to the `Menu`, and the Sub-menu will inherit this, or you can override at the `SubMenu` level
1515

1616
```jsx
1717
import { Menu, Switch } from 'antd';
@@ -21,13 +21,20 @@ const { SubMenu } = Menu;
2121

2222
class Sider extends React.Component {
2323
state = {
24-
theme: 'dark',
24+
menuTheme: 'dark',
25+
subMenuTheme: 'dark',
2526
current: '1',
2627
};
2728

28-
changeTheme = value => {
29+
changeMenuTheme = value => {
2930
this.setState({
30-
theme: value ? 'dark' : 'light',
31+
menuTheme: value ? 'dark' : 'light',
32+
});
33+
};
34+
35+
changeSubMenuTheme = value => {
36+
this.setState({
37+
subMenuTheme: value ? 'dark' : 'light',
3138
});
3239
};
3340

@@ -41,23 +48,37 @@ class Sider extends React.Component {
4148
render() {
4249
return (
4350
<>
51+
Menu Theme:{' '}
4452
<Switch
45-
checked={this.state.theme === 'dark'}
46-
onChange={this.changeTheme}
53+
checked={this.state.menuTheme === 'dark'}
54+
onChange={this.changeMenuTheme}
55+
checkedChildren="Dark"
56+
unCheckedChildren="Light"
57+
/>
58+
<br />
59+
<br />
60+
Sub-Menu Theme: <Switch
61+
checked={this.state.subMenuTheme === 'dark'}
62+
onChange={this.changeSubMenuTheme}
4763
checkedChildren="Dark"
4864
unCheckedChildren="Light"
4965
/>
5066
<br />
5167
<br />
5268
<Menu
53-
theme={this.state.theme}
69+
theme={this.state.menuTheme}
5470
onClick={this.handleClick}
5571
style={{ width: 256 }}
5672
defaultOpenKeys={['sub1']}
5773
selectedKeys={[this.state.current]}
5874
mode="inline"
5975
>
60-
<SubMenu key="sub1" icon={<MailOutlined />} title="Navigation One">
76+
<SubMenu
77+
key="sub1"
78+
icon={<MailOutlined />}
79+
title="Navigation One"
80+
theme={this.state.subMenuTheme}
81+
>
6182
<Menu.Item key="1">Option 1</Menu.Item>
6283
<Menu.Item key="2">Option 2</Menu.Item>
6384
<Menu.Item key="3">Option 3</Menu.Item>

0 commit comments

Comments
 (0)