如何使用Redux形式以编程方式更新字段的状态

时间:2019-02-06 01:19:08

标签: javascript reactjs redux-form

我目前有2个输入,如下所示: enter image description here 我正在尝试根据第一个日期输入来更新结束日期输入。例如,如果我在开始日期输入中输入了08/15/2018,我希望结束日期输入等于08/15/2018。

我当前的结束日期输入代码如下:

<Field
    component="input"
    format={(value, name) => {
       if (startDate.length && name === "start_date") {
          return startDate;
       }
       return value;
    }}
    name="end_date"
    onChange={onDateChange}
    type="date"
/>
  • 变量startDate从开始日期输入中捕获输入

  • 当前代码能够在结束日期输入下显示日期,但是,它没有更新redux字段-仍未定义。

如何显示数据并将其保存为redux格式?

1 个答案:

答案 0 :(得分:1)

import { getFormValues, change } from 'redux-form';

首先获取字段的值

const mapStateToProps = state => ({ 
    formValues: getFormValues('<formname>')(state) || {},
});

访问上面收到的对象内的该字段。 formValues。

您可以使用change更改商店中的值。

change(field:String, value:any) 

export const mapDispatchToProps = dispatch => ({ 
setDate: value => dispatch(change('<formName>', value, null)),
});