这个问题来源于日期选择器 RangerPicker 的特殊情况。
<Col span={7} key={9}>
<FormItem label="投运时间" {...formItemLayout2}>
{getFieldDecorator('tysj', {
initialValue: [undefined, moment().endOf('month')],
rules: [
{
required: false,
message: '投运时间!',
},
],
})(<RangerPicker style={{ '100%'}} format="YYYY-MM-DD" allowClear={true} />)}
</FormItem>
</Col>
有时我们希望默认值一边有范围,一边没有范围。
比如 几月几号之前。
那么在表单赋值的时候,原先写的是:
initialValue: ['', moment().endOf('month')],
但是这样会导致清除时报错:
value.locale is not a function
而只要改成:
initialValue: [undefined, moment().endOf('month')],
就可以了。