简介
日期组件用于在表格列中展示日期信息,支持多种日期格式和显示方式。
用法示例
基础用法
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'
]);
});
组件参数
| 参数名 | 类型 | 默认值 | 说明 |
|---|
| name | string | 必填 | 字段名称,对应数据库字段 |
| label | string | 必填 | 列标题,显示在表格头部 |
| option | callable|array | [] | 配置选项,可以是回调函数或数组 |
日期组件属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|
| type | string | date | 类型:'date'、'datetime'、'time'、'static-date'、'static-datetime'、'static-time' |
| placeholder | string | - | 占位符 |
| valueFormat | string | - | 数据格式,默认为时间戳 |
| updateFrequency | string | - | 更新频率,默认为1分钟 |
| className | string | - | 外层 CSS 类名 |
| displayFormat | string | - | 展示格式(如:YYYY-MM-DD HH:mm:ss) |
| fromNow | bool | false | 是否显示相对时间描述(如:11小时前、3天前) |
| displayTimeZone | string | - | 设置日期展示时区 |
使用场景
- 创建时间展示
- 更新时间展示
- 生日、纪念日展示
- 活动开始/结束时间
注意事项
- 当 fromNow 为 true 时,displayFormat 不生效
- valueFormat 支持多种格式,常用的有 'X'(时间戳)、'YYYY-MM-DD' 等
- displayFormat 用于控制前端显示格式
- 相对时间会自动更新,默认更新频率为1分钟