react 中 如何给日期加条件并传值

日期查询原先是这样:

 

    {/* 日期 */}

    <FormItem label="日期">

        {getFieldDecorator('range-time-picker', rangeConfig)(

            <RangePicker showTime format="YYYY-MM-DD HH:mm:ss" />

        )}

    </FormItem>

    // 条件查询

    handleSearch = (e,key) => {

        const {

            dispatch,

            form

        } = this.props;

 

        form.validateFields((err, fieldsValue) => {

            if (err) return;

 

            const rangeTimeValue = fieldsValue['range-time-picker'] ? fieldsValue['range-time-picker'] : [];

            // console.log(rangeTimeValue);

            if (rangeTimeValue.length>0) {

                var values = {

                    ...fieldsValue,

                    'range-time-picker': [

                        rangeTimeValue[0].format('YYYY-MM-DD HH:mm:ss'),

                        rangeTimeValue[1].format('YYYY-MM-DD HH:mm:ss')

                    ],

                    'starttime': rangeTimeValue[0].format('YYYY-MM-DD HH:mm:ss'),

                    'endtime': rangeTimeValue[1].format('YYYY-MM-DD HH:mm:ss'),

                };

            } else {

               var values = {

                   ...fieldsValue,

               }

            }

            dispatch({

                type: ‘xxx/fetch',

                payload: values

            });

        });

    }

 

 

 

现在想要实现这样的日期查询,见图:

 

 

这种写法如下:

 

    {/* 日期 */}

    <FormItem

            label="日期"

        >

            {

                getFieldDecorator('rangtime', {

                    // initialValue: [moment(starttime), moment(endtime)],

                    rules: [{

                        type: 'array',

                        message: '请选择起始时间'

                    }]

                })(

                    <RangePicker

                        ranges={{

                            '7天': [moment(), moment().add(7, 'days')],

                            '15天': [moment(), moment().add(15, 'days')],

                            '自然月': [moment(), moment().add(1, 'month')],

                            '半年': [moment(), moment().add(183, 'days')],

                            '一年': [moment(), moment().add(366, 'days')],

                            '一季度': [moment(), moment().add(3, 'month')],

                            '两季度': [moment(), moment().add(6, 'month')],

                            '三季度': [moment(), moment().add(9, 'month')],

                            '至月底': [moment(), moment().endOf('month')],

                            '至年底': [moment(), moment().endOf('year')]

                        }}

                    />

                )

            }

    </FormItem>

    // 查询

    handleSearch = (e) => {

 

        e.preventDefault();

 

        const {

            dispatch,

            form

        } = this.props;

 

        form.validateFields((err, fieldsValue) => {

            if (err) return;

 

            // 日期

            const rangeTimeValue = fieldsValue['rangtime'] ? fieldsValue['rangtime'] : [];

 

            var values = {

                'starttime': '',

                'endtime': '',

                'customercode': this.state.customerID,

                'commoditycode': fieldsValue['commoditycode'],

                'billcode': fieldsValue['billcode'],

                'searchtype': fieldsValue['searchtype'],

            };

 

            if (rangeTimeValue.length > 0) {

                values['starttime'] = rangeTimeValue[0].format("Y-M-d");

                values['endtime'] = rangeTimeValue[1].format("Y-M-d");

            }

 

            this.props.handleSetState({

                formValues: values,

            })

 

            dispatch({

                type: ‘xxxxx/fetch',

                payload: values

            });

        });

    }

 

 

 

如果要默认显示,最近 30的的,怎么写?

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值