antd-DatePicker组件获取时间值,及相关设置方式


Posted in Javascript onOctober 27, 2020

DatePicker组件默认语言是英语,需要设置为中文的话,需要安装moment。

import moment from "moment";

import "moment/locale/zh-cn"

format属性,设置日期的格式,如“2020-02-28”。

设置日期

选择日期是今天之前【包含今天】

需要和moment搭配应用

// 设置默认的起始日期
    const disabledDate = (current) => {
      console.log(current)
      return current > moment().startOf('day');
    }
    <DatePicker disabledDate={disabledDate}

效果如下图:

antd-DatePicker组件获取时间值,及相关设置方式

如果是选择今天之后的日期【包含今天】

const disabledDate = (current) => {
      console.log(current)
      return current > moment().startOf('day');
    }

如图:

antd-DatePicker组件获取时间值,及相关设置方式

关于moment的API,可以参考 moment 的具体文档

获取时间值

官网提供的函数:

function onChange(date, dateString) {
 console.log(date, dateString);
 // date 就是原始的日期数值,dateString 就是我们需要的日期格式
}

antd-DatePicker组件获取时间值,及相关设置方式

如果DatePicker组件嵌套在form表单里面,有两种方式获取日期值

第一种方式:

使用官网提供的函数,并在State中设置日期参数

constructor(){
  super()
  this.state={
    date:""
  }
}

onChange = (value,dateString)=>{
  this.setState({
    date:dateString
  })
}

  handleSubmit1 = e => {
    const that = this;
    e.preventDefault();
    this.props.form.validateFieldsAndScroll((err, values) => {
      if (!err) {
        console.log(values.date)
        that.setState({
          date: that.state.date
        })
        that.getData(1, 10, that.state.date);
      }
    });
  };
<Form className="ant-advanced-search-form" onSubmit={this.handleSubmit1}>
            <div className="search-report">
              <Form.Item label="日期">
                {getFieldDecorator('date', {
                  rules: [
                    {
                      required: false,
                      message: '选择日期',
                    },
                  ],
                })(<DatePicker onChange={this.onChange} format="YYYY-MM-DD" placeholder="选择日期" />)}

              </Form.Item>
              <Button type="primary" htmlType="submit">查询</Button>
            </div>
          </Form>

这种方式在提交表单的时候,直接从state中获取日期参数值。

第二种方式:

使用moment转换日期

handleSubmit3 = e => {
    e.preventDefault();
    this.props.form.validateFieldsAndScroll((err, values) => {
      const data = moment(values.date).format('YYYY-MM-DD')
      console.log(data)
    });
  };

补充知识:moment.js可以通过 .format()方法将时间变成字符串:

我就废话不多说了,就是一行代码的事,来看看吧~

moment(moment().add(1, 'M')).format(dateFormat)

以上这篇antd-DatePicker组件获取时间值,及相关设置方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript实现的仿Flash广告图片轮换效果
Apr 24 Javascript
jQuery点击tr实现checkbox选中的方法
Mar 19 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
Mar 23 Javascript
原生js仿jquery实现对Ajax的封装
Oct 04 Javascript
原生javascript移动端滑动banner效果
Mar 10 Javascript
javascript 跨域问题以及解决办法
Jul 17 Javascript
Three.js如何实现雾化效果示例代码
Sep 27 Javascript
node下使用UglifyJS压缩合并JS文件的方法
Mar 07 Javascript
详解angular2.x创建项目入门指令
Oct 11 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
May 12 Javascript
VSCode launch.json配置详细教程
Jun 18 Javascript
JavaScript设计模式之原型模式详情
Jun 21 Javascript
Ant Design moment对象和字符串之间的相互转化教程
Oct 27 #Javascript
ant-design表单处理和常用方法及自定义验证操作
Oct 27 #Javascript
ant design 日期格式化的实现
Oct 27 #Javascript
基于ant design日期控件使用_仅月份的操作
Oct 27 #Javascript
ant-design-vue 时间选择器赋值默认时间的操作
Oct 27 #Javascript
ant design vue中日期选择框混合时间选择器的用法说明
Oct 27 #Javascript
vue-cli3配置favicon.ico和title的流程
Oct 27 #Javascript
You might like
深入php多态的实现详解
2013/06/09 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
2015/09/22 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
Django的信号机制详解
2017/05/05 Python
python实现俄罗斯方块
2018/06/26 Python
python找出因数与质因数的方法
2019/07/25 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
东方红海科技面试题软件测试方面
2012/02/08 面试题
商务日语专业毕业生求职信
2013/10/26 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
Python打包为exe详细教程
2021/05/18 Python
redis数据一致性的实现示例
2022/03/18 Redis
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技