ant design vue中日期选择框混合时间选择器的用法说明


Posted in Javascript onOctober 27, 2020

首先时间格式化用到moment方法,需要在页面中引入moment组件

import moment from 'moment'

结构代码:

<a-date-picker
   style="width:100%"
   :getCalendarContainer="(triggerNode) => triggerNode.parentNode"
   format="YYYY-MM-DD HH:mm:ss"
   v-decorator="[
   'pushtime',
   {
   rules: [{ required: true, message: '请输入发布时间!' }]
   }
   ]"
   :showTime="{ defaultValue: moment('00:00:00', 'HH:mm:ss') }"
   :disabledDate="disabledDate"
   :disabledDateTime="disabledDateTime"
   placeholder="请选择时间"
   @change="onChange"
   @ok="onOk" />

其中,showTime.defaultValue是设置的默认展示时间,disabledDate为禁用日期,disabledDataTime为禁用时间,详细属性说明可查阅官方文档

下面是方法代码:

methods: {
 moment,
 onChange (value, dateString) {
 console.log('Selected Time: ', value)
 console.log('Formatted Selected Time: ', dateString)
 },
 onOk (value) {
 console.log('onOk: ', value)
 },
 range (start, end) {
 const result = []
 for (let i = start; i < end; i++) {
 result.push(i)
 }
 return result
 },
 disabledDate (current) {
 // Can not select days before today and today
 return current && current < moment().endOf('day')
 },
 
 disabledDateTime () {
 return {
 disabledHours: () => this.range(0, 24).splice(4, 20),
 disabledMinutes: () => this.range(30, 60),
 disabledSeconds: () => [55, 56]
 }
 }
}

补充知识:初始化antDesign RangePicker默认选择日期及限制日期可选范围

主要做了两个设置:

1、初始化默认选择日期;

2、限制日期可选范围(限制最大可选范围是最近6个月)

具体实现代码出下:

import React, { PureComponent } from 'react';
import moment from 'moment';
import { 
 Form, 
 Modal,
 DatePicker,
} from 'antd';
 
const FormItem = Form.Item;
const { RangePicker } = DatePicker;
 
@Form.create()
class ExportModal extends PureComponent {
 
 // 表单提交
 okHandle = () => {
 const { handleExportByTime, form } = this.props;
 form.validateFields((err, fieldsValue) => {
 const rangeValue = fieldsValue['range-picker'];
 if (err) return;
 const values ={
 ...fieldsValue,
 'date': [rangeValue[0].format('YYYY-MM-DD'), rangeValue[1].format('YYYY-MM-DD')],
 }
 // 重置表单
 form.resetFields();
 handleExportByTime(values);
 });
 };
 
 // 不可选择的时间段
 disabledDate = current => current && current > moment().endOf('day') || current < moment().subtract(6, 'months');
 
 render() {
 const {
 form: { getFieldDecorator },
 handleModalVisible,
 submitting,
 modalVisible,
 } = this.props;
 
 const formItemLayout = {
 labelCol: { span: 4 },
 wrapperCol: { span: 14 }
 };
 
 // 初始化日期显示 
 const defaultSelectDate = {
 startDate: moment().subtract(1, 'weeks'),
 endDate: moment().endOf('day')
 }
 
 return (
 <Modal
 destroyOnClose
 title='按时间段导出'
 centered
 keyboard={false}
 maskClosable={false}
 visible={modalVisible}
 confirmLoading={submitting}
 onOk={this.okHandle}
 onCancel={() => handleModalVisible()}
 >
 <FormItem {...formItemLayout} label='时间段' extra='最长可导出最近6个月数据'>
  {getFieldDecorator('range-picker',{
  initialValue: [defaultSelectDate.startDate, defaultSelectDate.endDate]
  })(
  <RangePicker disabledDate={this.disabledDate} />
  )}
 </FormItem>
 </Modal>
 );
 }
}
export default ExportModal;

以上这篇ant design vue中日期选择框混合时间选择器的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
列表内容的选择
Jun 30 Javascript
HTML代码中标签的全部属性 中文注释说明
Mar 26 Javascript
JQuery表格内容过滤的实现方法
Jul 05 Javascript
js和as的稳定传值问题解决
Jul 14 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
Jan 09 Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 Javascript
简介JavaScript中的setDate()方法的使用
Jun 11 Javascript
javascript发送短信验证码实现代码
Nov 12 Javascript
移动端日期插件Mobiscroll.js使用详解
Dec 19 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
Feb 17 Javascript
通过js随机函数Math.random实现乱序
May 19 Javascript
JavaScript实现音乐播放器
Aug 14 Javascript
vue-cli3配置favicon.ico和title的流程
Oct 27 #Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
Oct 27 #Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
Oct 27 #Javascript
js实现自定义滚动条的示例
Oct 27 #Javascript
vue移动端下拉刷新和上滑加载
Oct 27 #Javascript
Element-UI 使用el-row 分栏布局的教程
Oct 26 #Javascript
解决vue项目运行npm run serve报错的问题
Oct 26 #Javascript
You might like
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
php验证session无效的解决方法
2014/11/04 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
Convert Seconds To Hours
2007/06/16 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
推荐一个基于Node.js的表单验证库
2019/02/15 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
深入了解python中元类的相关知识
2019/08/29 Python
Python列表解析操作实例总结
2020/02/26 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
用python写PDF转换器的实现
2020/10/29 Python
python switch 实现多分支选择功能
2020/12/21 Python
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
终止劳动合同证明书样本
2014/11/19 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
2015年外贸业务员工作总结范文
2015/05/23 职场文书
小学语文教学随笔
2015/08/14 职场文书
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
python playwright 自动等待和断言详解
2021/11/27 Python