经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 编程经验 » 查看文章
antd之RangePicker设置默认值方式
来源:jb51  时间:2022/12/5 8:48:33  对本文有异议

RangePicker设置默认值

今天在项目中有使用到日期选择框,在antd中选择了一个可以选择起始时间和结束时间的日期选择框RangePicker

有个需求是需要将当前时间和当前时间的前一天作为它的默认值,期间遇到了很多bug,在一番修改和csdn后终于修改好了,特此记录一下

首先翻看一下antd中日期选择框的api,它有一个defaultValue的属性,如果是RangePicker的话,他是接受一个数组作为参数,分别作为起始和结束的时间默认值

有点坑的地方在与我刚开始没看懂这里的moment[],是啥意思,它这里需要传入moment对象,也就是你数组里的值必须要是moment对象

所以先要引入moment

运行:

  1. npm install moment --save

在react中引入:

  1. import moment from 'moment'
  2. React.Component.prototype.$moment = moment

 然后就可以调用moment()将时间字符串转换成moment对象了,moment()方法接受两个参数,第一个是时间字符串如:'2021-01-29',第二个参数是时间格式,需要注意的时,你前面的时间字符串和后面的时间格式需要对应,如moment('2021-01-29','YYYY-MM-DD')或者moment('2021-01-29 18:49:20','YYYY-MM-DD HH:mm:ss')等,看你自己的项目需求了

如果你出现了类似这种的错

那大概率是不符合moment格式的问题了 

antd的RangePicker设置七天前,30天前,90天前

记录一下在业务中,用antd的日期组件设置默认选择范围的问题。

Antd的RangePicker设置七天前,30天前,90天前,并且设置默认时分秒为 00:00:00 ~ 23:59:59

  1. <RangePicker
  2. ranges={{
  3. 最近一周: [moment().startOf('day').subtract(6, 'd'), moment().endOf('day')],
  4. 最近一个月: [moment().startOf('day').subtract(30, 'd'), moment().endOf('day')],
  5. 最近三个月: [moment().startOf('day').subtract(90, 'd'), moment().endOf('day')],
  6. }}
  7. showTime={{
  8. hideDisabledOptions: true,
  9. defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
  10. }}
  11. onChange={(data, dataString) => {
  12. getDataRange(
  13. timeToTimestamp(dataString[0]),
  14. timeToTimestamp(dataString[1]),
  15. );
  16. }}
  17. />

以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号