Antd sortOrder табличный блок - PullRequest
0 голосов
/ 20 января 2020

Привет, ребята, мне нужна помощь с моим столом в antd и reactjs. Поэтому моя проблема заключается в том, что мне нужно отсортировать источник данных внутри SessionStorage, но после этого мои кнопки сортировки перестали работать.

до сортировки сеанса я использовал только функцию сортировки, но после добавления sortOrder моя таблица взорвалась :)))

Я пытаюсь проверить, используется ли какой-либо из ключей столбца, но это не решает мою проблему.

Надеюсь, кто-то из вас может мне помочь

PS. в моем проекте у меня 14 (или более) таблиц, и мне нужно, чтобы все они работали одинаково.

constructor(props) {
    super(props);
    this.state = {
      sortedInfoAttivitaSPR: null,
      sortedInfoAttivitaSG: null,
      sortedInfoAttivitaSS: null,
    };

  }



  componentDidMount() {
    let p = this.props;
    const params = this.props.Routing.match.params;
    this.props.form.validateFields();
    if (sessionStorage.getItem('sortedInfoAttivitaSPR')) {
      /* this.setState.order = JSON.parse(sessionStorage.getItem('sorter')) */
      this.setState({ sortedInfoAttivitaSPR: JSON.parse(sessionStorage.getItem('sortedInfoAttivitaSPR')) });

    } else if (sessionStorage.getItem('sortedInfoAttivitaSG')) {

      this.setState({ sortedInfoAttivitaSG: JSON.parse(sessionStorage.getItem('sortedInfoAttivitaSG')) });

    } else if (sessionStorage.getItem('sortedInfoAttivitaSS')) {

      this.setState({ sortedInfoAttivitaSS: JSON.parse(sessionStorage.getItem('sortedInfoAttivitaSS')) });
    }



  }



const columnsAttivitaSPR = [
      {
        title: "Cod.",
        width: 90,
        dataIndex: "codiceAttivita",
        key: "codiceAttivitaSPR",
        sorter: (a, b) => parseInt(a.codiceAttivita) - parseInt(b.codiceAttivita),
        sortOrder: (sortedInfoAttivitaSPR.columnKey === 'codiceAttivitaSPR' && sortedInfoAttivitaSPR.order),
        render: (text, record) => <span>{record.codiceAttivita}</span>,
      },
      
    ];





<Table_
                    onChange={this.handleChangeSorting}
                    className={columnClassStyle + ""}
                    title={() => this.getTitleTableAttivita("Attività", programma, progetto)}
                    columns={s.columnsAttivita}
                    dataSource={s.dataSourceAttivita}
                    loading={s.loadingTabellaAttivita}
                    pagination={false}
                    bordered={false}
                    scroll={{
                      x: 720
                    }}
                  />




 handleChangeSorting = (pagination, filters, sorter, extra) => {
    // console.log('params PAGINATION ', pagination);
    // console.log('params FILTERS ', filters);
    // console.log('params SORTER ', sorter);
    // console.log('params EXTRA', extra);



    if (this.state.tipologiaPagina === 'SchedaProgressReport') {
      this.setState({ sortedInfoAttivitaSPR: sorter });
      sessionStorage.setItem('sortedInfoAttivitaSPR', JSON.stringify(sorter));


    } else if (this.state.tipologiaPagina === 'SchedaGenerale') {
      this.setState({ sortedInfoAttivitaSG: sorter });
      sessionStorage.setItem('sortedInfoAttivitaSG', JSON.stringify(sorter));


    } else if (this.state.tipologiaPagina === 'SingolaScheda') {
      this.setState({ sortedInfoAttivitaSS: sorter });
      sessionStorage.setItem('sortedInfoAttivitaSS', JSON.stringify(sorter));

    }
    // console.log('ORDEEEEEEEEEEEEEEEEEEEER >>>>>>>>>>>>>>', this.state.sortedInfoAttivitaSPR);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...