React arco-design RangePicker

实现可选值范围31天内,默认值为当月第一天到当前日期,参数是格式为YYYY-MM-DD HH:mm:ss

可选值选择范围可以根据自己需要定义 formConfigs[item.range]

 <RangePicker
            style={{ width: '100%' }}
            allowClear={false}//不可清除
            onSelect={(valueString, value) => {
              setFormConfigs({
                ...formConfigs,
                [item.timeDates]: value//禁止选择默认区间
              });
            }}
            defaultValue={[//显示的默认值
              formConfigs[item.startValueName],//开始日期
              formConfigs[item.endValueName],//结束日期
            ]}
            onVisibleChange={(visible) => {
              if (!visible) {
                setFormConfigs({
                  ...formConfigs,
                  [item.timeDates]: [],//清空禁选默认区间
                });
              }
            }}
            onChange={(dateString) => {
              setFormConfigs({
                ...formConfigs,
                [item.startValueName]: dateString[0] + ' 00:00:00',
                [item.endValueName]: dateString[1] + ' 23:59:59',
              });
            }}
            disabledDate={(current) => {
//formConfigs[item.timeDates]//默认范围区间
//formConfigs[item.range] 可选天数范围值
              if (formConfigs[item.timeDates] && formConfigs[item.timeDates].length) {
                const tooLate = formConfigs[item.timeDates][0] && Math.abs(current.diff(formConfigs[item.timeDates][0], 'day')) > formConfigs[item.range];//当前选择时间的前可选天数范围
                const tooEarly = formConfigs[item.timeDates][1] && Math.abs(formConfigs[item.timeDates][1].diff(current, 'day')) > formConfigs[item.range];//当前选择时间的后可选天数范围
                return tooEarly || tooLate;
              }
              return false;
            }}
            clearRangeOnReselect
          />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值