具体使用方法可参考这篇博客:https://blog.csdn.net/qq_43225030/article/details/84973086

需要注意的地方是,在dateRangePicker函数,我们不单单是要打印所选择的起始时间和结束时间。

dateRangePicker(id: string) {
const locale = {
'format': 'YYYY-MM-DD',
'separator': ' - ',
'applyLabel': '确定',
'cancelLabel': '取消',
'fromLabel': '起始时间',
'toLabel': '结束时间',
'customRangeLabel': '自定义',
'weekLabel': 'W',
'daysOfWeek': ['日', '一', '二', '三', '四', '五', '六'],
'monthNames': ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
'firstDay': 1
};
const picker: any = $('#' + id);
const dataRageOption: Object = {
'locale': locale,
ranges: {
'今日': [moment(), moment()],
'昨日': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'最近7日': [moment().subtract(6, 'days'), moment()],
'最近30日': [moment().subtract(29, 'days'), moment()],
'本月': [moment().startOf('month'), moment().endOf('month')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
},
startDate: moment().subtract(6, 'days'),
endDate: moment(),
dateLimit: {
days: 30
}
}; picker.daterangepicker(dataRageOption, function (start: any, end: any, label: any) {
console.info(`start:${start.format('YYYY-MM-DD')}, end:${end}, label:${label}`);
});
}

1、一种情况,需要将start和end赋值给类的对象的属性,假设有两个属性this.startTime和this.endTime,如果直接在picker.daterangepicker的回调函数中赋值,如:

this.startTime = start
this.endTime = end
将会报错,因为在回调函数里this是DateRangePicker的对象,

所以,可以在dateRangePicker函数里提前定义一个变量,将类的对象this赋值给它,在回调函数中利用新定义的变量接收start和end,如下:

const obj: any = this;
picker.daterangepicker(dataRageOption, function (start: any, end: any, label: any) {
obj.startTime = start;
obj.endTime = end;
});

2、另一种情况是,在页面上选择了起始时间后,需要做url跳转,可以这样:

    const router1 = this.router;    // this.router的类型是Router
    const route1 = this.route;     // this.route的类型是ActivatedRoute
    picker.daterangepicker(dataRageOption, function (start: any, end: any, label: any) {
router1.navigate(['./'], {relativeTo: route1, queryParams: { start: start, end: end }});
});
 

最新文章

  1. linux进程间通信-消息队列
  2. BizTalk动手实验(十六)EDI-AS2解决文案开发配置
  3. ie11媒体查询以及其他hack
  4. LESS与SASS的伯与仲
  5. Recast & Detour & TerrainExport Study Feeling
  6. JS常用方法函数
  7. mysql索引之四(索引使用注意规则:索引失效--存在索引但不使用索引)
  8. mysql根据时间查询前一天数据
  9. Java Collection集合接口
  10. 现在,UICollectionViews有了简单的重排功能
  11. 【java版坦克大战---准备篇】 java 绘图
  12. http调试工具,linux调试工具
  13. [serverlet][转载: 深入理解HTTP Session]
  14. hdu 5400 Arithmetic Sequence(模拟)
  15. cve-2017-0199&metasploit复现过程
  16. Obj-C 实现 QFileDialog函数
  17. C# wav语音文件合并
  18. Go语言标准库_输入/输出
  19. Django 1.9 + celery + django-celry 实现定时任务
  20. GC算法基础

热门文章

  1. LeetCode 154. Find Minimum in Rotated Sorted Array II寻找旋转排序数组中的最小值 II (C++)
  2. JDOJ 2255 A+B Problem
  3. JDOJ 1162 是否闰年
  4. LG1198/BZOJ1012 「JSOI2008」最大数 线段树+离线
  5. vue系列--- 认识Flow(一)
  6. html 单元格合并
  7. Attention篇(二)
  8. vue_02day练习
  9. Docker下构建centos7容器无法使用systemctl命令的解决办法
  10. 企业微信同步LDAP