|
|
@@ -15,6 +15,15 @@ class HeaderView extends PureComponent {
|
|
|
visible: true,
|
|
|
};
|
|
|
|
|
|
+ static getDerivedStateFromProps(props, state) {
|
|
|
+ if (!props.autoHideHeader && !state.visible) {
|
|
|
+ return {
|
|
|
+ visible: true,
|
|
|
+ };
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
componentDidMount() {
|
|
|
document.addEventListener('scroll', this.handScroll, { passive: true });
|
|
|
}
|
|
|
@@ -87,12 +96,12 @@ class HeaderView extends PureComponent {
|
|
|
this.scrollTop = scrollTop;
|
|
|
return;
|
|
|
}
|
|
|
- if (scrollTop > 400 && visible) {
|
|
|
+ if (scrollTop > 300 && visible) {
|
|
|
this.setState({
|
|
|
visible: false,
|
|
|
});
|
|
|
}
|
|
|
- if (scrollTop < 400 && !visible) {
|
|
|
+ if (scrollTop < 300 && !visible) {
|
|
|
this.setState({
|
|
|
visible: true,
|
|
|
});
|
|
|
@@ -109,11 +118,9 @@ class HeaderView extends PureComponent {
|
|
|
const { navTheme, layout, fixedHeader } = setting;
|
|
|
const { visible } = this.state;
|
|
|
const isTop = layout === 'topmenu';
|
|
|
+ const width = this.getHeadWidth();
|
|
|
const HeaderDom = visible ? (
|
|
|
- <Header
|
|
|
- style={{ padding: 0, width: this.getHeadWidth() }}
|
|
|
- className={fixedHeader ? styles.fixedHeader : ''}
|
|
|
- >
|
|
|
+ <Header style={{ padding: 0, width }} className={fixedHeader ? styles.fixedHeader : ''}>
|
|
|
{isTop && !isMobile ? (
|
|
|
<TopNavHeader
|
|
|
theme={navTheme}
|