小编The*_*dio的帖子

从材料表中的React状态动态查找

我正在使用material-table组件,该组件填充了来自Redux(对象数组)的动态数据,但是随后我在组件状态内对该数据进行了其他处理。要创建列下拉过滤器,每列选项数组中都有一个元素,该元素lookup接收一个对象并根据其值创建下拉列表。我正在从数据中提取一些项目,并将它们放入处于组件状态的元素中。这是一个对象,与lookup收到。事实是该组件显示一个空的下拉菜单,就像对象是空的一样,但不是。我将其登录到控制台,并且该对象充满了我需要的数据。我最初以为是一个渲染问题,对象在开始时是空的,然后填充了数据,但是组件每次都渲染(是的,React是反应性的)。这只是帮助我解决此问题的代码:

表组件

import React, { Component } from "react";
import MaterialTable from "material-table";

class CustomTable extends Component {
  state = {
    column1: "",
    column2: "",
    column3: "",
    column1FilterList: {}
    columns: [
      {
        title: "Column1",
        field: "column1",
        editable: "onAdd",
        filtering: true,
        lookup: { ...this.column1FilterList }
      },
      {
        title: "Column2",
        field: "column2",
        editable: "onAdd",
        filtering: true,
      },
      {
        title: "Column3",
        field: "column3",
        editable: "onAdd",
        filtering: true
      }
    ]
  };

  componentDidMount() {
    this.props.fetchValues()
    this.props.fetchApplications()
    this.filterColumn1ExistingKeys()
  }

  filterColumn1ExistingKeys …
Run Code Online (Sandbox Code Playgroud)

javascript jsx reactjs material-table

5
推荐指数
1
解决办法
375
查看次数

标签 统计

javascript ×1

jsx ×1

material-table ×1

reactjs ×1