当前位置:首页 > VUE

vue 实现日期多选

2026-01-19 21:10:22VUE

实现日期多选的方法

使用 v-model 绑定数组

在 Vue 中,可以通过 v-model 绑定一个数组来实现多选。日期选择器组件(如 el-date-picker)需设置 type="dates" 或支持多选的属性。

vue 实现日期多选

<template>
  <el-date-picker
    v-model="selectedDates"
    type="dates"
    placeholder="选择多个日期"
    format="YYYY-MM-DD"
  />
</template>

<script>
export default {
  data() {
    return {
      selectedDates: [] // 存储选中的日期数组
    };
  }
};
</script>

使用第三方库(如 vue-datepicker

若需更灵活的日期多选功能,可集成第三方库如 vue-datepicker,配置 multi-select 属性。

vue 实现日期多选

<template>
  <datepicker
    v-model="selectedDates"
    :multi-select="true"
    :inline="true"
  />
</template>

<script>
import Datepicker from 'vue-datepicker';
export default {
  components: { Datepicker },
  data() {
    return {
      selectedDates: []
    };
  }
};
</script>

自定义日期选择逻辑

通过监听日期选择事件,手动管理选中日期数组。例如,使用原生 input[type="date"] 结合 Vue 逻辑。

<template>
  <input 
    type="date" 
    @change="handleDateSelect"
  />
  <div>已选日期: {{ selectedDates.join(', ') }}</div>
</template>

<script>
export default {
  data() {
    return {
      selectedDates: []
    };
  },
  methods: {
    handleDateSelect(event) {
      const date = event.target.value;
      if (!this.selectedDates.includes(date)) {
        this.selectedDates.push(date);
      }
      event.target.value = '';
    }
  }
};
</script>

使用 Element UI 的日期范围扩展

通过 el-date-pickertype="daterange" 结合自定义逻辑实现多选。需额外处理用户交互。

<template>
  <el-date-picker
    v-model="dateRange"
    type="daterange"
    @change="handleRangeChange"
  />
</template>

<script>
export default {
  data() {
    return {
      dateRange: [],
      selectedDates: []
    };
  },
  methods: {
    handleRangeChange(range) {
      if (range && range.length === 2) {
        const [start, end] = range;
        // 生成区间内所有日期并合并到 selectedDates
      }
    }
  }
};
</script>

注意事项

  • 日期格式一致性:确保绑定的日期格式与组件输出的格式一致,避免解析错误。
  • 去重处理:手动管理数组时需检查重复日期。
  • 禁用日期:可通过组件的 disabledDate 属性限制可选范围。

以上方法可根据项目需求选择,推荐优先使用支持多选的成熟组件(如 Element UI 的 type="dates")。

标签: 多选日期
分享给朋友:

相关文章

vue多选实现

vue多选实现

Vue 多选实现方法 基础实现(v-model + multiple) 在 Vue 中实现多选可以通过 <select> 元素的 multiple 属性结合 v-model 完成。v-mo…

vue 实现多选

vue 实现多选

Vue 实现多选的方法 在 Vue 中实现多选功能可以通过多种方式完成,以下介绍几种常见的方法。 使用复选框(Checkbox)实现多选 通过 v-model 绑定数组来实现多选功能,适用于表单中…

vue实现多选联动

vue实现多选联动

实现多选联动的基本思路 在Vue中实现多选联动功能,通常需要利用v-model绑定数据、监听选项变化以及动态更新关联选项。以下是几种常见的实现方式: 基于v-model和计算属性 通过v-mode…

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取当前日期 在 React 中通过 Moment.js 获取当前日期,可以直接调用 moment() 函数。它会返回包含当前日期和时间的 Moment 对象。 impo…

jquery日期

jquery日期

jQuery 日期处理 jQuery本身不直接提供日期处理功能,但可以结合JavaScript的Date对象或第三方库(如moment.js)来实现日期操作。以下是常见日期处理的实现方法: 获取当前…

vue 实现多选框

vue 实现多选框

实现多选框的基础用法 在Vue中可以使用v-model指令绑定到数组类型的数据,实现多选框功能。基础示例代码如下: <template> <div> <i…