当标签为粘性时转到另一个标签后内容不需要隐藏
Content not need to hide after go to another tab when tab is sticky
我正在使用 material UI
和 react-sticky
,它们运行良好,但我遇到了一个问题。
https://codesandbox.io/s/xv41xzvyp
我已经分享了我已经尝试过的东西。
重现步骤
- 转到第一个选项卡的底部,选项卡将固定
- 尝试转到另一个选项卡,但内容会保留在那里,需要滚动到开始位置并且
StickyContainer
组件有一个 属性 node
,它是对容器最顶层元素的引用,因此您可以在 ref 的帮助下将其滚动到视图中你自己的:
class CustomizedTabs extends React.Component {
ref = React.createRef();
state = {
value: 0
};
handleChange = (event, value) => {
this.setState({ value }, () => this.ref.current.node.scrollIntoView());
};
render() {
const { classes } = this.props;
const { value } = this.state;
return (
<div className={classes.root}>
<StickyContainer ref={this.ref}>{/* ... */}</StickyContainer>
</div>
);
}
}
我正在使用 material UI
和 react-sticky
,它们运行良好,但我遇到了一个问题。
https://codesandbox.io/s/xv41xzvyp
我已经分享了我已经尝试过的东西。
重现步骤
- 转到第一个选项卡的底部,选项卡将固定
- 尝试转到另一个选项卡,但内容会保留在那里,需要滚动到开始位置并且
StickyContainer
组件有一个 属性 node
,它是对容器最顶层元素的引用,因此您可以在 ref 的帮助下将其滚动到视图中你自己的:
class CustomizedTabs extends React.Component {
ref = React.createRef();
state = {
value: 0
};
handleChange = (event, value) => {
this.setState({ value }, () => this.ref.current.node.scrollIntoView());
};
render() {
const { classes } = this.props;
const { value } = this.state;
return (
<div className={classes.root}>
<StickyContainer ref={this.ref}>{/* ... */}</StickyContainer>
</div>
);
}
}