vue日期选择框之时间范围的使用

朴灿烈づ我的快乐病毒、 2022-10-30 13:23 424阅读 0赞

实现效果如下

在这里插入图片描述

  1. <a-col :xl="8" :lg="16" :md="24" :sm="32">
  2. <a-form-item label="时间" >
  3. <a-range-picker
  4. style="width: 350px"
  5. v-model="queryParam.createTimeRange"
  6. :disabled-time="disabledRangeTime"
  7. :show-time="{ hideDisabledOptions: true, defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')], }"
  8. format="YYYY-MM-DD HH:mm:ss"
  9. :placeholder="['开始时间', '结束时间']"
  10. @change="onDateChange"
  11. @ok="onDateOk"
  12. />
  13. </a-form-item>
  14. </a-col>

1:引入格式化工具

  1. import moment from 'moment'

2:给默认值

  1. queryParam:{
  2. createTimeRange:[
  3. moment(new Date(new Date(new Date().toLocaleDateString()).getTime()),'YYYY-MM-DD HH:mm:ss'),
  4. moment(new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1),'YYYY-MM-DD HH:mm:ss')
  5. ]
  6. },

3:methods书写的方法

  1. methods: {
  2. moment,
  3. //时间相关函数 start
  4. onDateChange: function (value, dateString) {
  5. console.log(dateString[0],dateString[1]);
  6. this.queryParam.startTime=dateString[0];
  7. this.queryParam.endTime=dateString[1];
  8. },
  9. onDateOk(value) {
  10. console.log(value);
  11. },
  12. range(start, end) {
  13. const result = [];
  14. for (let i = start; i < end; i++) {
  15. result.push(i);
  16. }
  17. return result;
  18. },
  19. disabledRangeTime(_, type) {
  20. if (type === 'start') {
  21. return {
  22. disabledHours: () => this.range(0, 60).splice(60, 60),
  23. disabledMinutes: () => this.range(0, 60).splice(60, 60),
  24. disabledSeconds: () => this.range(0, 60).splice(60, 60),
  25. };
  26. }
  27. return {
  28. disabledHours: () => this.range(0, 60).splice(60, 60),
  29. disabledMinutes: () => this.range(0, 60).splice(60, 60),
  30. disabledSeconds: () => this.range(0, 60).splice(60, 60),
  31. };
  32. },
  33. //时间相关函数 end
  34. }

发表评论

表情:
评论列表 (有 0 条评论,424人围观)

还没有评论,来说两句吧...

相关阅读