考虑 React Virtualized `Grid` 中的动态顶部元素
Account for dynamic top element in React Virtualized `Grid`
我有一组使用 React Virtualized 的 Grid
元素的照片。
我们设计了一个在照片上传过程中显示的指示器。这会动态隐藏和显示,并通过 cellRangeRenderer
per these docs.
呈现
棘手的部分是让其余的网格项目遵守这个新元素添加的额外高度。目前采用的方法是将该元素的高度添加到 cellRenderer
中呈现的每个元素的 style.top
。
const adjustedTopOffset = style.top + heightOfTopElement;
上面的计算是针对每个元素进行的。这正确地将所有元素放置在适当的偏移处。但是,Grid 的高度不会为重新计算顶部偏移量而调整。
结果是 Grid
的底部被调整后的顶部数量切断。
如何正确计算调整后的最高偏移量?调用 recomputeGridSize
好像不行。
调整 cellRenderer
中的顶部偏移量是否是解决额外顶部元素的正确方法?我要澄清的是,这不是固定元素,而是需要像其他元素一样随 Grid
滚动的元素。
鉴于您的单元格高度是固定的,您应该能够 overrides the default height
style 使用 containerStyle
属性,如下所示:
let containerStyle;
if (isTopElementVisible) {
containerStyle = {
height: rowHeight * rowCount + heightOfTopElement,
maxHeight: rowHeight * rowCount + heightOfTopElement,
};
}
我有一组使用 React Virtualized 的 Grid
元素的照片。
我们设计了一个在照片上传过程中显示的指示器。这会动态隐藏和显示,并通过 cellRangeRenderer
per these docs.
棘手的部分是让其余的网格项目遵守这个新元素添加的额外高度。目前采用的方法是将该元素的高度添加到 cellRenderer
中呈现的每个元素的 style.top
。
const adjustedTopOffset = style.top + heightOfTopElement;
上面的计算是针对每个元素进行的。这正确地将所有元素放置在适当的偏移处。但是,Grid 的高度不会为重新计算顶部偏移量而调整。
结果是 Grid
的底部被调整后的顶部数量切断。
如何正确计算调整后的最高偏移量?调用 recomputeGridSize
好像不行。
调整 cellRenderer
中的顶部偏移量是否是解决额外顶部元素的正确方法?我要澄清的是,这不是固定元素,而是需要像其他元素一样随 Grid
滚动的元素。
鉴于您的单元格高度是固定的,您应该能够 overrides the default height
style 使用 containerStyle
属性,如下所示:
let containerStyle;
if (isTopElementVisible) {
containerStyle = {
height: rowHeight * rowCount + heightOfTopElement,
maxHeight: rowHeight * rowCount + heightOfTopElement,
};
}