嗨,对于一个项目,我需要用户选择应该在 React 数据网格中显示的列。一些列可能是预设的,其他列可能会在以后添加。但是我尝试过,即使状态已相应设置并且没有显示错误,它也不会适用于多个添加的列
新列将由选择器选择。这将被添加到表类的状态中。如果尝试通过强制渲染方法的道具传递它,但它也没有多次更新列。我使用了不同/相同的键集。如果它是第一个新列,则将识别相同。我尝试调试它是否有任何理由将 nextColumns 归类为未更改,但它并没有让我更接近。
在 render() 中的 state.columns
0: {key: "date", name: "Date"} ->Preset
1: {key: "date", name: "Date1"} ->Added and created
2: {key: "ffd", name: "Testfdg2"}->Added to state not created
3: {key: "test", name: "Test3"} ->Not created
4: {key: "test", name: "Test4"}
5: {key: "test", name: "Test5"}
6: {key: "test", name: "Test6"}
length: 7
__proto__: Array(0)
组件调用
<ReactDataGrid
columns={this.state.columns}
rowGetter={i => this.handleRowGetter(i)}
rowsCount={this.rowsCount()}
minHeight={500}
minColumnWidth={10}
onGridSort={(sortColumn, sortDirection)=>this.gridSort(sortColumn, sortDirection)}
toolbar={
<Toolbar enableFilter={true}
/>}
onAddFilter={this.handleFilterChange}
onClearFilters={this.handleOnClearFilters}
onRowDoubleClick={(click,row) =>{this.handleClick(click,row)}}
/>
所以目标是根据状态创建所有列
如果需要更多代码,我很乐意提供
问候乔纳森