使用element的DatePicker选择器时,可以进行限制吗?

作者站长头像
站长
· 阅读数 5

我使用的是

<el-date-picker
      type="dates"
      v-model="value4"
      placeholder="选择一个或多个日期">
    </el-date-picker>

,但是我进行限制,比如只能选择两个或几个日期,而不是无限制选择,怎么修改?

回复
1个回答
avatar
test
2024-06-26
<template>
  <div class="home">
    <el-date-picker
      type="dates"
      v-model="dates"
      placeholder="选择一个或多个日期"
      :picker-options="pickerOptions"
    >
    </el-date-picker>
  </div>
</template>

<script>
export default {
  data() {
    return {
      dates: [],
    }
  },
  computed: {
    pickerOptions({ dates }) {
      // 构造一个map 存储已选中的日期
      let datasMap = new Map(
        dates.map((item, index) => {
          return [item.getTime(), index]
        })
      )
      return {
        disabledDate: (date) => {
          // 选择超过两个日期时增加禁用条件
          if (dates && dates.length >= 2) {
            // 对于已选中的日期返回false 未选中的日期返回true
            return !datasMap.has(date.getTime()); 
          }
          return false
        }
      }
    }
  }
}
</script>
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容