我正在使用具有可变行高的MultiGrid,并且我有一些代码允许用户更改列的宽度。我知道这样做不会改变MultiGrid上的任何道具,所以我需要调用MultiGrid上的一些方法来“踢”"它有点适当地重新渲染。我发现对于固定行高的情况,我可以调用MultiGrid.recomputeGridSize(),这似乎工作正常。但是在变量行高度情况下(使用CellMeasurer和CellMeasurerCache),我无法确定正确的调用顺序。在我的具有MultiGrid的组件中,我尝试调用:
this.cellMeasurerCache.clearAll();
this.multiGrid.recomputeGridSize();
这迫使事情重新投降,但一切都看起来很大。我也尝试通过调用
来关注它this.multiGrid.forceUpdateGrids()
但这样做只会使列宽看起来正确,但行高度都是错误的。然而,只要我滚动了一下,一切都神奇地看起来很棒。有人可以建议正确的调用序列来使事情正确呈现吗?