DatePicker 日期选择器

输入或选择日期的组件。

何时使用

当用户需要输入一个日期时;需要点击标准输入框,弹出日期面板进行选择时。

基本用法

:::demo


<template>
  <div class="mb-2">选中的日期: {{eventValue}}</div>
  <d-datepicker :selected-date-change="handleEventValue" />
</template>

<script lang="ts">
import { defineComponent, ref } from 'vue'

export default defineComponent({
  setup() {
    const eventValue = ref<string>('')
    const handleEventValue = (val: string) => {
      eventValue.value = val;
    }

    return {
      eventValue,
      handleEventValue,
    };
  }
});
</script>

<style>
.mb20 {
  margin-bottom: 20px;
}

.wh200 {
  width: 200px;
}
</style>

:::

自动关闭日期面板

:::demo


<template>
  <div class="mb-2">开启 auto-close</div>
  <d-datepicker auto-close class="mb-1" />
  <d-datepicker :auto-close="true" />

  <div class="mb-2 mt-3">关闭 auto-close</div>
  <d-datepicker class="mb-1" />
  <d-datepicker :auto-close="false" />
</template>

<script lang="ts">
import { defineComponent } from 'vue'

export default defineComponent({
  setup() {
  }
});
</script>

<style>
.mb20 {
  margin-bottom: 20px;
}
</style>

:::

日期范围选择器

:::demo


<template>
  <div class="mb-2">开启 range</div>
  <d-datepicker range class="mb-1" />
  <d-datepicker :range="true" />

  <div class="mb-2 mt-3">关闭 range</div>
  <d-datepicker class="mb-1" />
  <d-datepicker :range="false" />
</template>

<script lang="ts">
import { defineComponent } from 'vue'

export default defineComponent({
  setup() {
  }
});
</script>

<style>
.mb20 {
  margin-bottom: 20px;
}
</style>

:::

日期格式化

::: demo


<template>
  <d-datepicker format="yyyy-MM-dd hh:mm:ss" class="mb-1" />
  <d-datepicker format="yy-MM-dd" range />
</template>

<script lang="ts">
import { defineComponent } from 'vue'

export default defineComponent({
  setup() {
  }
});
</script>

<style>
.mb20 {
  margin-bottom: 20px;
}
</style>

:::

日期起止时间分隔符

::: demo


<template>
  <d-input v-model="splitterText" :max-length="1" class="mb-1 wh200"></d-input>
  <d-datepicker range :range-spliter="splitterText" />
</template>

<script lang="ts">
import { defineComponent, ref } from 'vue'

export default defineComponent({
  setup() {
    const splitterText = ref('至')

    return {
      splitterText
    }
  }
});
</script>

<style>
.mb20 {
  margin-bottom: 20px;
}

.wh200 {
  width: 200px;
}
</style>

:::

DatePicker 参数

参数 类型 默认 说明 跳转 Demo
auto-close boolean false 可选,选择日期后,是否自动关闭日期面板 自动关闭日期面板
range boolean false 可选,是否开启日期区间选择 日期范围选择器
format string y/MM/dd 可选,日期值格式 日期格式化
range-spliter string - 可选,在区间选择模式下,分隔起止时间的字符。 日期起止时间分隔符
selected-date-change Function - 可选,子项切换的时候会发出新激活的子项的数据 基本用法

日期格式化字符

字符 说明 规则
y, yy, yyyy year 使用yy时,只显示后2位年份,其他情况显示4位年份。比如yy/MM/dd -> 21/01/02y/MM/dd -> 2021/01/02
M,MM month 使用MM时,一位数数字左侧自动补0。比如y/MM/dd -> 2021/01/02y/M/d -> 2021/1/2
d,dd date 规则同M
h,hh hour 规则同M;使用24小时表示。
m,mm minute 规则同M
s,ss second 规则同M