有没有一种方法可以在组件更新时保持滚动条显示?

时间:2019-07-24 05:48:21

标签: reactjs material-ui

我开发了一个平台来显示jpg所示的不同商店数据。 是否可以像在Facebook的加载中一样,用滚动条不断显示在右侧的方式来更新仪表板?

当前,当仪表板更新时,根本没有滚动条显示。

enter image description here

2 个答案:

答案 0 :(得分:0)

您应使用组件要加载的固定高度或最小高度的占位符。 只需使用css即可轻松完成此操作,只需给组件包装的min-height(例如min-height: 500px)。或者,如果您要从服务器获取数据,则可以在数据获取时设置一个加载布尔值,然后将组件换成具有固定高度的加载组件

答案 1 :(得分:0)

仔细检查我的控制流程后,我发现在页面更新之前总是会加载一个等待圈:

export async function prepareAndRedirect(w,p){
...
    dispatch(redirectTo('WAITING_ROTATING_CIRCLE'));
    //operations
}

因此,当页面显示CircularProgress时,由于CircularProgress的高度,没有滚动条显示。

我将代码更改为

//PAGE_DASHBOARD needs to always show its scrollbar.
if(p!='PAGE_DASHBOARD') dispatch(redirectTo('WAITING_ROTATING_CIRCLE'));

因此,当目标页面以Facebook的更新方式加载时,滚动条将保持不变。 对此,詹克是对的:如果页面内容更新不间断,其滚动条将保持不变。

非常感谢你们的帮助。