我以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} />
由于
答案 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"))}
/>
}/>
这不是最佳方式,但此解决方案可以帮助您解决问题。