Отключение определенных строк на основе условия в реагирующей таблице - PullRequest
0 голосов
/ 26 января 2019

Мне нужно отключить определенные строки в зависимости от конкретного условия. Это мой код:

<ReactTable    
  data={this.state.categoryTable}
  loading={this.state.loading}
  noDataText="Please select a country template"
  columns={[
    {
      Header: 'Category/Lot',
      accessor: 'category_name'
    }, {
      Header: "Display Name",
      accessor: "display_name",
      Cell: this.renderEditable
    }, {
      Header: 'Price(per month)',
      accessor: 'price',
      Cell: this.renderEditable
    }, {
      Header: 'Spots',
      accessor: 'spots',
      Cell: this.renderEditable
    }>

Мне нужно отключить строку «Цена и споты», когда категория / лот равна «Южная Америка»

1 Ответ

0 голосов
/ 26 января 2019

Я понял, что для доступа к другому полю в текущей строке вы должны получить доступ к row.row,

Итак, ваш код должен быть написан примерно так:

<ReactTable    
  data={this.state.categoryTable}
  loading={this.state.loading}
  noDataText="Please select a country template"
  columns={[
    {
      Header: 'Category/Lot',
      accessor: 'category_name'
    }, {
      Header: "Display Name",
      accessor: "display_name"
    }, {
      Header: 'Price(per month)',
      accessor: 'price',
      Cell: row => row.row.category_name=="South America" ? ***disable*** : row.value
    }, {
      Header: 'Spots',
      accessor: 'spots',
      Cell: row => row.row.category_name=="South America" ? ***disable*** : row.value
    }]}
 />

ТеперьЯ не уверен, что именно вы подразумеваете под отключением строки ... но вы можете обработать состояние с помощью набора "отключенных" индексов в таблице или какого-либо подобного решения.

Или, если вы визуализируете какой-то другой компонент внутри ячейки, вы можете просто передать «disable» какому-либо свойству:

Cell: row => (<SomeSubComponent disable={row.row.category_name=="South America"} value={row.value} />)

Надеюсь, я помог:)

...