根据反应表中的条件禁用某些行

时间:2019-01-26 11:05:56

标签: reactjs react-table

我需要根据特定条件禁用某些行。这是我的代码:

Set<T>?

当类别/批次等于“南美”时,我需要禁用“价格和现货”行

1 个答案:

答案 0 :(得分:0)

我发现,要访问当前行中的另一个字段,您应该访问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
    }]}
 />

现在,我不确定禁用行到底是什么意思。但是您可以通过表中的“禁用”索引集合或类似的解决方案来处理状态。

或者,如果要在单元内渲染其他组件,则可以将“禁用”传递给某些属性:

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

希望我能帮助:)