2017-08-14 10 views
0

グリッドが並んでいないので、最初にCellMeasurerを使って行の高さを動的に計算したいのですが、CellMeasurerCacheを別のグリッドから再利用する方法(セルの高さを同期させる方法/幅)?複数のグリッドのためにCellMeasurerCacheを反応させた

jsbin example

class App extends React.Component { 
    constructor(props) { 
    super(props); 

    this.leftHeadersCellMeasurerCache = new CellMeasurerCache({ 
     fixedWidth: true, 
     minHeight: 40 
    }); 
    } 

    render() { 
    return (
     <ScrollSync> 
     {({scrollTop, onScroll}) => (
      <div className="row"> 
      <LeftGrid 
       width={300} 
       height={500} 
       scrollTop={scrollTop} 
       cellMeasurerCache={this.leftHeadersCellMeasurerCache} 
      /> 
      <DataGrid 
       width={400} 
       height={500} 
       onScroll={onScroll} 
       rowHeight={this.leftHeadersCellMeasurerCache.rowHeight} 
      /> 
      </div> 
     )} 
     </ScrollSync> 
    ) 
    } 
} 

PS。残念ながら、MultiGridを使用することはできません。左側のデータは「不均等」です。両方Grid s内のすべてのセルの内容は同じ(私は疑っているが、これまでの場合である)でない限り

答えて

1

あなたが直接Gridの間CellMeasurerCacheキャッシュを共有することはできません。

私はあなたがCellMeasurerCachein a similar way as MultiGrid doesを飾りたいと思うと思います。あなたのデコレータは、値をそのまま通過させるときと測定を壊すことを避けるためにいつカラムオフセットを加えるべきかを決定する必要があります。

関連する問題