将行传递到react-table中的Columns的Filter属性

时间:2019-03-01 08:17:26

标签: react-table

我是React Table的新手。我试图通过基于列中的唯一值创建一个下拉菜单来过滤列。我正在使用提取API提取数据,并希望使用它来创建下拉菜单。我看到的所有解决方案都对选项进行了硬编码。有什么方法可以动态更新下拉菜单中的选项? 请不要提出任何对数组进行硬编码然后将其映射到元素中的解决方案,因为这样做会达到目的。这是我正在尝试的代码:

const columns =[{
        Header: 'City',
        accessor: 'City',
        filterMethod: (filter, row) => {
          if (filter.value === "all") {
            return row;
          }
          if(filter.value === row[filter.id]){
            return row;
          }
        },
        Filter: ({ filter, onChange }) => //how to pass row here so I can access row values
          <select
            onChange={event => onChange(event.target.value)}
            style={{ width: "100%", alignContent: "center" }}
            value={filter ? filter.value : "all"}
            options = {opts(row)}//I want to pass row here so I can return an array of unique values
          />

      },
      {
        Header: 'Scholar',
        accessor: 'Scholar',
        filterable: false      
      }]

0 个答案:

没有答案