日期组件

简介

日期组件用于在表格列中展示日期信息,支持多种日期格式和显示方式。

用法示例

基础用法

use plugin\xbCode\builder\Builder;

// 创建表格
Builder::crud(function($builder) {
  // 添加日期列
  $builder->addColumnDate('created_at', '创建时间');
});

自定义配置

Builder::crud(function($builder) {
  // 使用回调函数自定义配置
  $builder->addColumnDate('birthday', '生日', function($component) {
    $component->displayFormat('YYYY年MM月DD日');
    $component->valueFormat('X'); // 时间戳格式
  });
  
  // 相对时间显示
  $builder->addColumnDate('updated_at', '更新时间', function($component) {
    $component->fromNow(true); // 显示为"3天前"、"1小时前"等
  });
  
  // 使用数组方式配置
  $builder->addColumnDate('date', '日期', [
    'displayFormat' => 'YYYY-MM-DD',
    'valueFormat' => 'X'
  ]);
});

组件参数

参数名类型默认值说明
namestring必填字段名称,对应数据库字段
labelstring必填列标题,显示在表格头部
optioncallable|array[]配置选项,可以是回调函数或数组

日期组件属性

属性名类型默认值说明
typestringdate类型:'date'、'datetime'、'time'、'static-date'、'static-datetime'、'static-time'
placeholderstring-占位符
valueFormatstring-数据格式,默认为时间戳
updateFrequencystring-更新频率,默认为1分钟
classNamestring-外层 CSS 类名
displayFormatstring-展示格式(如:YYYY-MM-DD HH:mm:ss)
fromNowboolfalse是否显示相对时间描述(如:11小时前、3天前)
displayTimeZonestring-设置日期展示时区

使用场景

  • 创建时间展示
  • 更新时间展示
  • 生日、纪念日展示
  • 活动开始/结束时间

注意事项

  1. 当 fromNow 为 true 时,displayFormat 不生效
  2. valueFormat 支持多种格式,常用的有 'X'(时间戳)、'YYYY-MM-DD' 等
  3. displayFormat 用于控制前端显示格式
  4. 相对时间会自动更新,默认更新频率为1分钟