vue3 el-date-picker 需求是想既可以输入,也可以选择, 且开始时间不能大于结束时间, 当不符合条件时border变成红色

vue3 el-date-picker 需求是想既可以输入,也可以选择, 且开始时间不能大于结束时间, 当不符合条件时border变成红色

html 复制代码
<template>
  <div class="date-picker-group">
    <el-date-picker
      v-model="startDate"
      type="date"
      placeholder="开始时间"
      :class="{ 'is-error': startDateError }"
      editable
      format="YYYY-MM-DD"
      value-format="YYYY-MM-DD"
      @change="handleDateChange"
    />
    <span class="line">-</span>
    <el-date-picker
      v-model="endDate"
      type="date"
      placeholder="结束时间"
      :class="{ 'is-error': endDateError }"
      editable
      format="YYYY-MM-DD"
      value-format="YYYY-MM-DD"
      @change="handleDateChange"
    />
  </div>
</template>

<script setup>
import { ref } from 'vue'
const startDate = ref('')
const endDate = ref('')
const startDateError = ref(false)
const endDateError = ref(false)

const handleDateChange = () => {
  if (!startDate.value || !endDate.value) {
    startDateError.value = false
    endDateError.value = false
    return
  }
  const isValid = new Date(startDate.value) <= new Date(endDate.value)
  startDateError.value = !isValid
  endDateError.value = !isValid
}
</script>

<style scoped>
.date-picker-group {
  display: flex;
  align-items: center;
  gap: 10px;
}
.line {
  margin: 0 5px;
  color: #999;
}

:deep(.el-date-editor.el-input.is-error),
:deep(.el-date-editor.el-input__wrapper) {
  border: 1px solid #f56c6c !important;
}
</style>
相关推荐
小码哥_常2 小时前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端
蜗牛攻城狮5 小时前
微前端四大方案选型对比与最佳实践:qiankun、micro-app、wujie、Module Federation
前端·微前端·qiankun·前端架构·micro-app·wujie
她说可以呀6 小时前
Vue插槽
前端·javascript·vue.js
qq_448011166 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
aixingpan6 小时前
aixingpan.cn API开发文档:前端查询夏令时和时区接口指南
前端·php
2601_958352907 小时前
23.5×19mm 换掉一整条音频链?|A-68 集成了什么:ADC / DAC / 24.576MHz 时钟 / AEC / 波束降噪,主控仅需 6 根线
前端·音视频·ai降噪·回声消除·语音模块
志尊宝8 小时前
AI原生前端开发(039):AI辅助的Nuxt 4全栈开发
前端·vue.js·ai-native
FRing038 小时前
JavaScript入门到精通三十二(深拷贝、浅拷贝、递归函数)
开发语言·前端·javascript
excel9 小时前
双 Token 与前端使用 Crypto 公私钥鉴权换 Token,哪种方案更好?
前端·后端
外收内放9 小时前
Python基础语法练习题(73)
java·前端·python