0

我正在使用一个InfiniteLoaderwith aTable并且我有一些条目的索引匹配存储在 state 中的特定条件。如果用户想要浏览这些条目,我将不得不向下传递给Table每个索引(单击按钮后)并在scrollToIndex. 但是,在它传递下来之后,我将不得不null再次制作它,否则如果用户要向上/向下滚动Table,他将始终以由 指定的相同索引结束,scrollToIndex而不是当前滚动位置。

有没有更好的方法来做到这一点,除了两次设置状态,一次使用索引,然后使用null值?

希望我的问题很清楚。

4

1 回答 1

2

Table(and Gridand List) 也有设置 1-time 滚动索引的公共方法。对于Table该方法scrollToRow,您只需将要滚动到的索引传递给它。也许这会更符合你的喜好?

编辑:针对后续问题,Table如果您还需要将其传递给您如何获得参考InfiniteLoader

<InfiniteLoader {...infiniteLoaderProps}>
  {({ onRowsRendered, registerChild }) => (
    <Table
      {...tableProps}
      onRowsRendered={onRowsRendered}
      ref={(ref) => {
        this._tableRef = ref     // Store for yourself
        registerChild(ref) // And pass on to InfiniteLoader
      }}
    >
      {/* Columns ... */}
    </Table>
  )}
</InfiniteLoader>
于 2017-03-01T16:15:09.323 回答