.push () создает повторяющиеся выпадающие таблицы фильтра при повторном посещении страницы - PullRequest
0 голосов
/ 05 марта 2019

У меня есть пользовательская таблица со свойством filters.3 из фильтров жестко запрограммированы, но 1 из фильтров собирается с помощью запроса POST от нашего API, потому что их параметры фильтра часто обновляются в нашей базе данных не-инженерами.

Моя проблема в том, что когда вынажмите кнопку «Назад», чтобы перейти на страницу с этой пользовательской таблицей, на страницу будут добавлены дубликаты фильтров шлюзов.Этот пункт исчезает, когда вы обновляете страницу, что показало мне, что у меня возникла проблема с государством.Как сделать так, чтобы фильтр шлюзов отображался только один раз?

Вот код таблицы:

       <CredcapTable
          defaultSort="created_at"
          cols={cols}
          filters={filters}
          searchFunc={this.searchFunc}
          recordMappingFunc={this.recordMappingFunc}
        />

Вот функция, которая извлекает фильтры шлюзов из базы данных, которая вызывается в componentDidMount:

  private loadFilters = () => {
    searchGateways(this.props.app.api, new SearchRequest()).then((res: SearchResults<Gateway>) => {
      const opts = new Array<any>();
      opts.push({ label: "All", value: "*" });

      res.results.map((g: Gateway) => {
        opts.push({ label: `${g.name} [${g.code}]`, value: g.id });
      });

      filters.push({
        field: "gateway_id",
        label: "Gateway",
        options: opts
      });

      this.setState({ filters });

    });
  };
...