从嵌套数组中反映DataTable值

时间:2018-05-13 04:30:18

标签: javascript node.js reactjs

请查看我的代码:

import React, { Component } from 'react';
import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';

class App extends Component {
  constructor() {
    super();
    this.state = {
        student: [  
          {  
             "studentName":"Jack",
             "stdCtExamMarks":[  
                {  
                   "subjectName":"English "
                }
             ]
          },
          {  
             "studentName":"John",
             "stdCtExamMarks":[  
                {  
                   "subjectName":"Bangla "
                }
             ]
          }
       ]
    };
}
  render() {

    return (
      <div className="App">
    <BootstrapTable data={this.state.student} >
      <TableHeaderColumn dataField="studentName" isKey={true} dataAlign="center" dataSort={true}>Name</TableHeaderColumn>
      <TableHeaderColumn dataField="stdCtExamMarks.subjectName" dataSort={true}>Subject</TableHeaderColumn>

  </BootstrapTable>
      </div>
    );
  }
}

export default App;

在表格中我可以获得studentName的值,但我也需要值subjectName。我怎样才能做到这一点?

&#34; studentName&#34;当我把它放在dataField但是嵌套的数组&#34; stdCtExamMarks&#34;不会在字段中抛出任何值

1 个答案:

答案 0 :(得分:0)

之前我还没有使用此控件,但根据文档,您可以使用dataFormat的{​​{1}}属性。像这样:

TableHeaderColumn

请注意,subjectFormatter(cell, row) { return cell[0].subjectName } render(){ return ( ... <TableHeaderColumn dataField="stdCtExamMarks" dataFormat={this.subjectFormatter} dataSort={true}>Subject</TableHeaderColumn> ... ) } 是一个数组,正如您在上面所描述的那样,所以我使用了索引stdCtExamMarks,但您可能希望获得不同的内容。