response-table - вручную развернуть строку и перейти к определенной странице в соответствии со строкой запроса - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть URL со строкой запроса ticket_id: http://localhost:3001/customer-issues?ticket_id=1234

Мне нужно развернуть строку с идентификатором 1234 и направить ее на страницу (например, стр. 3) в реагирующей таблице

Я пытался использовать componentDidMount, но не могу получить доступ к экземпляру таблицы.

componentDidMount() {
  const values = queryString.parse(this.props.location.search);
  const issue = this.props.custissues.filter(issue => issue.cssid === values.ticket_id);

  if(issue) {
    this.setState({
      expanded: {index: true} // don't know what the index is 
                              //because index is the resolvedData index that is stored in table instance.
    });
  }
}

Я не знаю, что такое индекс и номер страницы и как их направлять.

Ниже приведен код ReacTable.

<ReactTable
data={this.props.custissues}
filterable
defaultFilterMethod={(filter, row) =>
String(row[filter.id]) === filter.value}
expanded= {this.state.expanded}
onExpandedChange={(newExpanded, index, event) => {this.handleRowExpanded(newExpanded, index, event)}}
columns={[
{
    Header: 'Customer Issues',
    columns: [
    {
        Header: () => <strong>Detail</strong>,
        width: 65,
        expander: true,
        Expander: ({ isExpanded, ...rest }) => {

            return <div>
            {isExpanded
                ? <i className='fa fa-angle-double-up' />
                : <i className='fa fa-angle-double-down' />}
        </div>},
        style: {
            cursor: 'pointer',
            fontSize: 25,
            padding: '0',
            textAlign: 'center',
            userSelect: 'none'
        },
        {
         Header: 'Ticket ID',
         id: 'cssid',
         accessor: 'cssid',
         maxWidth: 100,
         filterMethod: (filter, rows) =>
         matchSorter(rows, filter.value, { keys: ['cssid'] }),
           filterAll: true
         },
    },...

Кто-нибудь знает, как это сделать?

Большое спасибо

...