如何以redux形式使用日期选择器

时间:2017-03-11 09:07:24

标签: reactjs redux-form

我以redux形式使用日期选择器。我想只展示一年。但是,发布数据年份字段在数据库中为NULL。

任何人都可以帮助我。

这是我的代码:

const renderDatePicker = ({input, placeholder, defaultValue, meta: {touched, error} }) => (
  <div>
        <DateTimePicker {...input} format={"YYYY"} selected={input.value ? moment(input.value) : null} time={false} initialView={"decade"} finalView={"decade"} />
    {touched && error && <span>{error}</span>}
  </div>
);

<Field name="year" component={renderDatePicker} />

由于

1 个答案:

答案 0 :(得分:2)

你必须以正确的方式将所有道具传递给DateTimePicker道具。我不知道如何使用DateTimePicker组件,但是当你做

<DateTimePicker **{...input}** format={"YYYY"} selected={input.value ?
moment(input.value) : null} time={false} initialView={"decade"}
finalView={"decade"} />
{touched && error && <span>{error}</span>}

进入DateTimePicker必须将redux-form输入分配给它的输入prop,否则在这种情况下你总是会得到null。您还可以使用属性功能检查redux-form&#39;验证&#39;每当你改变那个值时,你都应该看到它。

编辑:

我一直在寻找像这样的问题,因为我必须在React-Native的DatePicker中做一些事情,在这种情况下我们没有输入但是我已经用过这样的方式:

    <Field name="birthday"
       component={ props =>
          <DatePicker
            date={props.input.value}
            onDateChange={(date) => props.input.onChange(moment(new Date(date)).format("MM/DD/YYYY"))}
          />
   }/>

这不是最佳方式,但此解决方案可以帮助您解决问题。