如何使用反应虚拟化库使固定列动态化

How to make fixed columns dynamic using react-virtualized library

使用这个库https://bvaughn.github.io/react-virtualized/#/components/MultiGrid

我这样创建了 multiGrid:

<MultiGrid
  cellRenderer={cellRenderer}
  columnCount={tableHeaders.length}
  columnWidth={cache.columnWidth}
  deferredMeasurementCache={cache}
  height={height}
  rowCount={data.length}
  rowHeight={40}
  width={width}
  fixedRowCount={1}
  enableFixedColumnScroll
  enableFixedRowScroll
  hideBottomLeftGridScrollbar={true}
  hideTopRightGridScrollbar={true}
/>

如果添加 fixedCoulmnCount = {1} 它会冻结第一列,这很棒,但我需要使用函数发送该数字,以便我可以发送动态列号以冻结。
有时我需要冻结第一个两列,有时需要冻结第一个三列

我尝试按如下方式调用函数:

fixedColumnCount = {getFreezeColNo} //this is prop in multigrid to freeze coulmns

function getFreezeColNo() {
    return 1;
  }

我也尝试了箭头函数:

fixedColumnCount={() => {
                return 1;
              }}

但是上面的代码出现了这个错误:


任何人都可以为此提供解决方案,在此先感谢

fixedColumnCount 需要一个数字而不是一个函数,但您已经为它提供了一个函数,因此您收到的是 NaN。通过实际调用该 getFreezeColNo 函数来尝试一下。

  fixedColumnCount = {getFreezeColNo()}