当前位置:首页 > VUE

vue实现日期范围选择

2026-02-23 15:39:15VUE

使用 Vue 实现日期范围选择

安装依赖

使用 vue2-datepickerelement-ui 的日期选择组件,安装对应的库:

npm install vue2-datepicker --save
# 或
npm install element-ui --save

基本实现(vue2-datepicker)

在组件中引入 vue2-datepicker 并配置日期范围选择:

vue实现日期范围选择

<template>
  <date-picker
    v-model="dateRange"
    range
    type="date"
    placeholder="选择日期范围"
  />
</template>

<script>
import DatePicker from 'vue2-datepicker';
import 'vue2-datepicker/index.css';

export default {
  components: { DatePicker },
  data() {
    return {
      dateRange: [],
    };
  },
};
</script>

使用 Element-UI 的日期范围选择

如果项目基于 Element-UI,可以直接使用其内置的日期范围组件:

<template>
  <el-date-picker
    v-model="dateRange"
    type="daterange"
    range-separator="至"
    start-placeholder="开始日期"
    end-placeholder="结束日期"
  />
</template>

<script>
export default {
  data() {
    return {
      dateRange: [],
    };
  },
};
</script>

自定义日期范围限制

可以通过 picker-options 限制可选日期范围,例如禁止选择今天之后的日期:

vue实现日期范围选择

<template>
  <el-date-picker
    v-model="dateRange"
    type="daterange"
    :picker-options="pickerOptions"
  />
</template>

<script>
export default {
  data() {
    return {
      dateRange: [],
      pickerOptions: {
        disabledDate(time) {
          return time.getTime() > Date.now();
        },
      },
    };
  },
};
</script>

处理日期范围数据

获取日期范围后,通常需要格式化或提交到后端:

methods: {
  submitRange() {
    const [start, end] = this.dateRange;
    const formattedStart = start.toISOString().split('T')[0];
    const formattedEnd = end.toISOString().split('T')[0];
    console.log('提交范围:', formattedStart, formattedEnd);
  },
},

响应式更新

监听日期范围变化并触发操作:

watch: {
  dateRange(newVal) {
    if (newVal && newVal.length === 2) {
      console.log('日期范围变化:', newVal);
    }
  },
},

注意事项

  • 日期库的时区问题需注意,建议使用 moment.jsday.js 处理格式化。
  • 移动端适配可能需要额外样式调整或使用专用移动端日期组件(如 vant)。
  • 清空日期范围时,v-model 绑定的数组会变为空,需做好边界判断。

标签: 范围日期
分享给朋友:

相关文章

vue如何实现日期递增

vue如何实现日期递增

实现日期递增的方法 在Vue中实现日期递增可以通过JavaScript的Date对象进行操作,结合Vue的响应式特性更新数据。以下是几种常见的实现方式: 使用计算属性 data() {…

react实现日期

react实现日期

React 实现日期的常见方法 使用 JavaScript 的 Date 对象 通过 JavaScript 内置的 Date 对象获取当前日期或处理特定日期,例如: const currentDat…

js日期实现

js日期实现

日期对象创建 使用 new Date() 创建当前时间的日期对象: const now = new Date(); 通过指定参数创建特定日期: const specificDate = new D…

js 实现日期

js 实现日期

在 JavaScript 中实现日期操作可以通过多种方式完成,以下是常见的方法和示例: 获取当前日期和时间 使用 Date 对象获取当前日期和时间: const currentDate = new…

js实现日期表格

js实现日期表格

使用JavaScript创建日期表格 在HTML中创建一个<table>元素,并为其设置一个ID以便JavaScript操作: <table id="dateTable">…

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取当前日期 在 React 中通过 Moment.js 获取当前日期可以直接调用 moment()。返回的对象包含当前系统的日期和时间信息。 import moment…