Redux-форма, как обновить / добавить значение c к ключу в initialValue при установке флажка - PullRequest
1 голос
/ 25 февраля 2020

Я использую material-ui и redux-form для управления веб-формой с несколькими флажками, но я исключил, что, если поставить галочку, она отправит действие для обновления значения ( language: ['Engli sh '] -> language: [' Engli sh ',' Spani sh '] ) в редукционной форме вместо добавления нового атрибута (такого как Spani sh: true ), проблема может быть в том, что я регистрирую разные файлы для каждого языка. Может ли кто-нибудь помочь?

Вот скриншот флажков enter image description here

Вот код: флажок

import React from 'react';
import { Field } from 'redux-form';
import Checkbox from '@material-ui/core/Checkbox';
import FormControlLabel from '@material-ui/core/FormControlLabel';

const renderCheckbox = ({ input, label }) => (
  <div>
    <FormControlLabel
      control={<Checkbox checked={!!input.value} onChange={input.onChange} />}
      label={label}
    />
  </div>
);

export class FormCheckbox extends React.Component {
  render() {
    const { languages, label } = this.props;
    return (
      <>
        <div>
          {languages.map((language, index) => (
            <Field
              key={index}
              name={language.name}
              label={language.name}
              component={renderCheckbox}
            />
          ))}
        </div>
      </>
    );
  }
}

index. js

const languages = ['Spanish', Norwegian]
  <FormCheckbox
     name={'languages'}
     label={'configuration.agent.language'}
     languages={languages}
   />

const mapStateToProps = (state, ownProps) => ({
   initialValues: {language: ['English']}

const mapDispatchToProps = dispatch => ({});

let Form = reduxForm({
   form: 'SelectForm',
   enableReinitialize: 'true',
})(Form);

как решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...