0

我想在表单里面放一个日期选择器

<Form.Item labelCol={{ span: 8 }} wrapperCol={{ span: 14 }} label="推广结束时间">
            {this.props.form.getFieldDecorator('type', {
              initialValue: this.props.data.endTime ? moment(Number(this.props.data.endTime)).format('YYYY/MM/DD') : '-' ,
            })(
              <DatePicker format='YYYY-MM-DD'/>
            )}
          </Form.Item>

但是这样写会报错 Cannot read property 'endTime' of null 。可是data里面有endTime属性,而且endTime也有值,我用data里面的其它属性写的表单都没有问题,只有时间类的有问题

凡沸 159
2019-05-14 提问
4 个回答
0

已采纳

图片描述

format 之后返回的是 string 类型

0

你的initialValue时间格式不太对吧

0

this.props.data ,是this的指向问题把?
getFieldDecorator()()第一个括号里面的this不知道指向谁了,你不能都解构赋值出来? 这代码风格确实很烂。。 明摆着是this.props.data 是null啊

要不然就是把 this.props.data. 这些代码用{}包起来试试 不知道JSX是不是把你这段代码解析成字符串了

0

你需要给 data 指定默认值 {} ,在初始化的时候 data 可能没有设置值,所以你要 const { data={} } = this.props

撰写答案

推广链接