gpt4 book ai didi

reactjs - 将 SwipeableViews 与 updateHeight() 结合使用

转载 作者:行者123 更新时间:2023-12-04 13:59:48 24 4
gpt4 key购买 nike

SwipeableViews 的新更新允许 MaterialUI 选项卡组件中的每个选项卡都有自己的高度。让我稍微退缩一下。之前,MaterialUI Tabs 组件会以最长选项卡的高度显示所有选项卡。这在不需要它的选项卡上创建了不必要的滚动。 SwipeableViews 最近通过将其添加到其组件中来解决此问题

<SwipeableViews
action={actions => {this.swipeableActions = actions;}}>
<div>{'slide n°1'}</div>
<div>{'slide n°2'}</div>
<div>{'slide n°3'}</div>
</SwipeableViews>


componentDidUpdate() {
this.swipeableActions.updateHeight();
}

这修复了加载状态下选项卡之间的高度问题。但是当项目被隐藏并通过点击事件显示时,高度仍然存在并且显示的项目不显示(从 View 中被切断)

查看图片(imgur 加载图片失败)改为查看图片链接

image

最佳答案

您需要添加:
动画高度
到 SwipeableViews 组件。

您可能还必须将函数向下传递给子组件,以便在子组件修改 View 时更新高度。

UpdateSwipeableViewHeight = () => {
if (this.swipeableActions) this.swipeableActions.updateHeight()
};


<SwipeableViews
id="searchTabsSwipeableView"
axis={theme.direction === 'rtl' ? 'x-reverse' : 'x'}
index={activeTabIndex}
onChangeIndex={index => {
this.handleChange(null, index);
this.UpdateSwipeableViewHeight();
}
}
action={actions => (this.swipeableActions = actions)}
animateHeight
>
<div className={classes.swipableViewsComponent}>
<ChildComponent updateHeight={this.UpdateSwipeableViewHeight} />
</div>

关于reactjs - 将 SwipeableViews 与 updateHeight() 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51730618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com