diff --git a/src/components/Charts/WaterWave/index.js b/src/components/Charts/WaterWave/index.js index f5ea26a0c815473398e2101931088f4dd1b65b10..2da301a0b6b12c8066573ddf0e56286e61a5e91e 100644 --- a/src/components/Charts/WaterWave/index.js +++ b/src/components/Charts/WaterWave/index.js @@ -30,11 +30,13 @@ export default class WaterWave extends PureComponent { resize = () => { requestAnimationFrame(() => { - const { height } = this.props; - const { offsetWidth } = this.root.parentNode; - this.setState({ - radio: offsetWidth < height ? offsetWidth / height : 1, - }); + if (this.root) { + const { height } = this.props; + const { offsetWidth } = this.root.parentNode; + this.setState({ + radio: offsetWidth < height ? offsetWidth / height : 1, + }); + } }); }; diff --git a/src/components/Sidebar/LayoutSetting.js b/src/components/Sidebar/LayoutSetting.js index f4947402b7f27c74515e455cf335e004ac7e73bd..b98b960190b5da0243ce2dfadeb2690f3d16c24a 100644 --- a/src/components/Sidebar/LayoutSetting.js +++ b/src/components/Sidebar/LayoutSetting.js @@ -1,39 +1,18 @@ import { Tooltip } from 'antd'; import React from 'react'; import NavSate from './navState'; +import style from './index.less'; const LayoutSetting = ({ value, onChange }) => { return ( -
+
{['sidemenu', 'topmenu'].map(layout => ( -
onChange && onChange(layout)} - key={layout} - style={{ - width: 70, - height: 44, - textAlign: 'center', - margin: 8, - }} - > +
onChange && onChange(layout)} key={layout}>
))} -
+
diff --git a/src/components/Sidebar/index.js b/src/components/Sidebar/index.js index 1a538168f4243d71677f7de72dd03a38a4106307..a68b0b30d47695002192db25f4c6e98b82dc258f 100644 --- a/src/components/Sidebar/index.js +++ b/src/components/Sidebar/index.js @@ -1,6 +1,7 @@ import React, { PureComponent, Fragment } from 'react'; import { Select, message, List, Switch, Divider, Radio } from 'antd'; import DrawerMenu from 'rc-drawer-menu'; +import { connect } from 'dva'; import styles from './index.less'; import ThemeColor from './ThemeColor'; import LayoutSeting from './LayoutSetting'; @@ -30,45 +31,23 @@ const Body = ({ children, title, style }) => ( {children}
); - +@connect(({ setting }) => ({ setting })) class Sidebar extends PureComponent { - static getDerivedStateFromProps(nextProps, prevState) { - const nextState = {}; - Object.keys(nextProps).forEach(key => { - if (nextProps[key] && prevState[key] !== undefined) { - nextState[key] = nextProps[key]; - } - }); - return nextState; - } - constructor(props) { - super(props); - this.defaultstate = { - collapse: false, - silderTheme: 'dark', - themeColor: '#1890FF', - layout: 'sidemenu', - grid: 'Fluid', - fixedHeader: false, - autoHideHeader: false, - fixSiderbar: false, - colorWeak: 'close', - }; - const propsState = this.propsToState(props); - this.state = { ...this.defaultstate, ...propsState }; - } componentDidMount() { - this.colorChange(this.state.themeColor); + const { themeColor } = this.props.setting; + if (themeColor !== '#1890FF') { + this.colorChange(themeColor); + } } getLayOutSetting = () => { - const { layout } = this.state; + const { grid, fixedHeader, autoHideHeader, fixSiderbar, layout } = this.props.setting; return [ { title: '栅格模式', isShow: true, action: [