Skip to content

当前时间组件

概述

CurrentDatetime 是一个自动填充当前时间的只读组件,常用于表单中的"创建时间"、"更新时间"等字段,支持多种时间格式和填充模式。

组件路径web/apps/web-ele/src/components/zq-form/current-datetime/

组件名称CurrentDatetime

功能特性

  • 自动填充当前时间
  • 支持日期、时间、日期时间三种类型
  • 支持自定义显示格式和值格式
  • 支持多种填充模式(创建时/更新时/始终)
  • 可选实时更新显示

Props

属性类型默认值说明
modelValuestring-时间值
type'date' | 'time' | 'datetime''datetime'时间类型
formatstring-显示格式(dayjs 格式)
valueFormatstring-值格式(dayjs 格式)
disabledbooleantrue是否禁用(始终为只读)
placeholderstring'当前时间'占位符
autoUpdatebooleanfalse是否实时更新显示
fillMode'onCreate' | 'onUpdate' | 'always''onCreate'填充模式

填充模式说明

模式说明使用场景
onCreate仅在值为空时填充创建时间字段
onUpdate每次渲染时更新更新时间字段
always始终更新实时显示当前时间

默认格式

类型默认格式
dateYYYY-MM-DD
timeHH:mm:ss
datetimeYYYY-MM-DD HH:mm:ss

Events

事件参数说明
update:modelValuestring值更新
changestring值变化

使用示例

创建时间

vue
<template>
  <CurrentDatetime
    v-model="createTime"
    type="datetime"
    fill-mode="onCreate"
  />
</template>

<script setup>
import { ref } from 'vue';

const createTime = ref('');
</script>

更新时间

vue
<template>
  <CurrentDatetime
    v-model="updateTime"
    type="datetime"
    fill-mode="onUpdate"
  />
</template>

<script setup>
import { ref } from 'vue';

const updateTime = ref('');
</script>

仅日期

vue
<template>
  <CurrentDatetime
    v-model="currentDate"
    type="date"
  />
</template>

<script setup>
import { ref } from 'vue';

const currentDate = ref('');
</script>

自定义格式

vue
<template>
  <CurrentDatetime
    v-model="customTime"
    format="YYYY年MM月DD日 HH:mm"
    value-format="YYYY-MM-DD HH:mm:ss"
  />
</template>

<script setup>
import { ref } from 'vue';

const customTime = ref('');
</script>

实时更新显示

vue
<template>
  <CurrentDatetime
    v-model="liveTime"
    type="datetime"
    :auto-update="true"
    fill-mode="always"
  />
</template>

<script setup>
import { ref } from 'vue';

const liveTime = ref('');
</script>

与表单设计器集成

在表单设计器中,该组件作为 current-datetime 类型的表单项使用:

json
{
  "type": "current-datetime",
  "field": "sys_create_datetime",
  "label": "创建时间",
  "props": {
    "type": "datetime",
    "fillMode": "onCreate",
    "format": "YYYY-MM-DD HH:mm:ss"
  }
}

典型应用场景

  • 创建时间fillMode="onCreate",记录数据创建时间
  • 更新时间fillMode="onUpdate",记录数据最后更新时间
  • 当前日期type="date",显示当前日期
  • 时钟显示autoUpdate=true,实时显示当前时间

Released under the MIT License.