首页 > 解决方案 > 将排序添加到 MDBTable

问题描述

我正在尝试将排序添加到我的表中。我试图避免使用列重新格式化 json:[{}]。
相反,我想直接在 MDBTable 数据中添加排序选项。

这可能吗?或者我可以指定 MDBTable 的列吗?

下面的代码工作正常,但列不可排序。

render() {
  return (
    <div>
      <h1 className="text-center">Coronastatistik för sverige</h1>
      <MDBTable>
        <MDBTableHead>
          <tr>
            <th>Regtion</th>
            <th>Fall</th>
            <th>Fall per 100 000 invånare</th>
            <th>Procent av fall i Sverige</th>
          </tr>
        </MDBTableHead>
        <MDBTableBody>
          {this.state.regions.map(region => (
            <tr>
              <td>{region.Region}</td>
              <td>{region.Fall.toLocaleString()}</td>
              <td>{region.Incidens}</td>
              <td>{region.Procent} %</td>
            </tr>
          ))}
        </MDBTableBody>
      </MDBTable>
    </div>
    );
}

标签: reactjsmdbtable

解决方案


为了能够首先对 MDBTable 进行排序,您必须将其作为 MDBDataTable 进行。然后在我的情况下,我必须使用它需要的数据创建 json 对象。对我来说,混乱的部分是了解如何构建合适的 json 对象。但在那之后,桌子就没有问题了。

这需要这种格式的对象

data: {
columns: [{
        label: 'Name',
        field: 'name',
        sort: 'asc',
        width: 150 }],
rows: [
      {
        name: 'Tiger Nixon',
        position: 'System Architect',
        office: 'Edinburgh',
        age: '61',
        date: '2011/04/25',
        salary: '$320'
      }}

然后你返回 MDBDataTable

return (
    <MDBDataTable
      striped
      bordered
      small
      data={data}
    />
  );

推荐阅读