报错信息:
value.locale is not a function
Uncaught Error: The value/defaultValue of DatePicker or MonthPicker must be a moment object after
从截图不难看出是,DatePicker或者 RangePicker 时间选择器使用时的错误。
1.给DatePicker或者 RangePicker 赋值 它的值必须是moment对象。
所以需要赋值时,用moment转换一下,出现这个错误主要就是赋值时,不是moment对象或者直接就是null、undefined
例如:
这个就是,直接赋值,time是字符串就会出现上面的报错。
class Index extends Component {
constructor(props) {
super(props);
this.state = {
time:"2015/01/01"
}
}
componentDidMount() {
}
render() {
const dateFormat = 'YYYY/MM/DD';
const {time}=this.state;
return (
<div>
<DatePicker defaultValue={time} format={dateFormat} />
</div>
)
}
}
export default Index
解决方案:
<DatePicker defaultValue={moment(time)} format={dateFormat} />
如果time不是一直都存在,或者有可能没值就需要判断一下
<DatePicker defaultValue={time&&moment(time)} format={dateFormat} />
//或者三目
<DatePicker defaultValue={time?moment(time):undefined} format={dateFormat} />