Как положить сдачу в магазине redux-form - PullRequest
0 голосов
/ 04 июля 2019

Я использую реагирование-автозаполнение для ввода автозаполнения (выборка по типу). Мой код основан на AutoCompleteArrayInput от реакции-администратора и реакции-автозапроса в материале-интерфейсе. И я украшаю свой компонент с помощью addField для использования приставки-формы с.

Но у него есть выборка и выбор работает хорошо, когда я помещаю свой компонент в SimpleForm, все входные данные имеют значение в хранилище с избыточностью, но не мое. Когда я смотрю в инструментах реагирования разработчика, вокруг моего компонента

есть компонент Field

Я пытаюсь сделать это вручную с помощью change из redux-form, но это не работает. Как я могу подключить свой компонент в хранилище резервов для отправки всего моего ввода?

export default connect(
  null,
  {
    getSearched: crudGetAll,
  },
)(
  compose(
    addField,
    translate,
  )(ButtonSearchWithAutocompletion),
);
onSuggestionSelected = (event, { suggestion }) => {
    const { onSelectedValue, source } = this.props;

    change(REDUX_FORM_NAME, source, suggestion.id);
    onSelectedValue(suggestion);
  };

1 Ответ

0 голосов
/ 08 июля 2019

Кто-то из моей команды помог мне решить эту проблему. Для тех, кто сталкивался с такой же проблемой, было решено добавить change из redux-form в мой index.js следующим образом:

import { change } from 'redux-form';
import { connect } from 'react-redux';
import compose from 'recompose/compose';

import ButtonSearchWithAutocompletion from './component';

export default connect(
  null,
  {
    getSearched: crudGetAll,
    change,
  },
)(
  compose(
    addField,
    translate,
  )(ButtonSearchWithAutocompletion),
);

И в моем component.js я использую change в качестве реквизита:

onSuggestionSelected = (event, { suggestion }) => {
    const { onSelectedValue, source, change } = this.props;

    change(REDUX_FORM_NAME, source, suggestion.id);
    onSelectedValue(suggestion);
  };

Надеюсь, это поможет!

...