0

当我尝试TableHeaderColumn使用 map 以编程方式创建时出现以下错误。

未捕获的错误:错误。TableHeaderColumn 中没有定义任何键列。使用 'isKey={true}' 指定版本 0.5.4 之后的唯一列。

如果我不使用地图和硬编码相同的值,一切正常。我通常使用地图作为表格,它通常作为一种魅力。我尝试过使用和不key使用地图属性,同样的错误。

https://stackoverflow.com/a/25647392/3850405

不工作:

type TableHeader = {
    dataField: string;
    name: string
    isKey: boolean
}

const crimeTableHeaders: TableHeader[] = [{
    dataField: 'CrimeCode',
    name: 'Brottskod',
    isKey: true,
},
{
    dataField: 'CrimeCodeClearText',
    name: 'Namn',
    isKey: false,
},
{
    dataField: 'Count',
    name: 'Antal',
    isKey: false,
}
]

<BootstrapTable containerStyle={{ marginTop: '10px' }} data={this.props.data} options={this.options} striped={true} hover={true} search multiColumnSearch strictSearch>
    {crimeTableHeaders.map((tableHeader, index) => {
        <TableHeaderColumn key={index} dataField={tableHeader.dataField} isKey={tableHeader.isKey} dataSort={true}>{tableHeader.name}</TableHeaderColumn>
        /*<TableHeaderColumn dataField={tableHeader.dataField} isKey={tableHeader.isKey} dataSort={true}>{tableHeader.name}</TableHeaderColumn>*/
    })}
</BootstrapTable>

作品:

<BootstrapTable containerStyle={{ marginTop: '10px' }} data={this.props.data} options={this.options} striped={true} hover={true} search multiColumnSearch strictSearch>
    <TableHeaderColumn dataField='CrimeCode' isKey={true} dataSort={true}>Brottskod</TableHeaderColumn>
    <TableHeaderColumn dataField='CrimeCodeClearText' isKey={false} dataSort={true}>Namn</TableHeaderColumn>
    <TableHeaderColumn dataField='Count' isKey={false} dataSort={true}>Antal</TableHeaderColumn>
</BootstrapTable>
4

1 回答 1

1

这个 API 是你的解决方案 React bootstrap table - keyField

<BootstrapTable data={ data } keyField='CrimeCode'>
  //Map function 
</BootstrapTable>
于 2018-03-20T08:52:51.727 回答