如何获取Column的内容以包含在react-virtualized中

时间:2017-06-22 19:16:25

标签: react-virtualized

我使用react-virtualized在Table组件中显示InfiniteLoader。我有多个Column条目,其中2个是固定宽度,另一个是可变的。如何将变宽宽度换一个而不是切断?代码:

    <InfiniteLoader
      isRowLoaded={this.isRowLoaded}
      loadMoreRows={this.loadMoreRows}
      rowCount={99999999}
    >
      {({ onRowsRendered, registerChild }) => (
        <Table
          width={this.state.width || 800}
          height={1200}
          rowCount={this.state.len}
          rowHeight={this.lineSize}
          rowGetter={this.renderItem}
        >
          <Column label='Index' dataKey='index' width={indexWidth} className='metadata'/>
          <Column label='Date' dataKey='date' width={dateWidth} className='metadata' />
          <Column label='Text' dataKey='text' width={400} flexGrow={1}/>
        </Table>
      )}
    </InfiniteLoader>

1 个答案:

答案 0 :(得分:4)

如果你正在使用white-space: nowrap的内置样式和默认渲染器,那么文字不会换行。 (它设置为Column。)您可以使用默认渲染器,或者不加载样式表,或者您可以根据需要覆盖它们。最简单的方法可能就是为Table提供自己的cellRenderer

查看CellMeasurer + Column demo page(来源here),了解包含文字的 Private Sub Setup_Sheets() Dim Data_Entry As Worksheet 'You don't need variables. You can use Sheet1 and Sheet2 directly. Set Data_Entry = Sheet1 Dim child1_sheet As Worksheet Set child1_sheet = Sheet2 'Repeat for each child(sheet number is unqiue to your workbook) Dim NameRange As Range Set NameRange = Data_Entry.Range("B4") child1_sheet.Range("C2").value = NameRange.value End Sub 示例。