日期范围组件

组件说明

日期范围组件用于选择开始日期和结束日期。

用法示例

use plugin\xbCode\builder\Builder;
use plugin\xbCode\builder\Renders\Form;

Builder::form(function (Form $builder) {
    // 基础用法
    $builder->addRowDateRange('date_range', '日期范围', '', function($component) {
        $component->format('YYYY-MM-DD');
        $component->placeholder('请选择日期范围');
        $component->clearable(true);
    });

    // 日期时间范围
    $builder->addRowDateTimeRange('datetime_range', '时间范围', '', function($component) {
        $component->valueFormat('YYYY-MM-DD HH:mm:ss');
        $component->displayFormat('YYYY-MM-DD HH:mm:ss');
        $component->ranges(['today', 'yesterday', '7daysago', 'thismonth']);
    });

    // 带限制的日期范围
    $builder->addRowDateRange('activity_time', '活动时间', '', [
        'minDate' => '2024-01-01',
        'maxDate' => '2024-12-31',
        'minDuration' => '1days', // 最小跨度1天
        'maxDuration' => '30days', // 最大跨度30天
        'utc' => false
    ]);
});

组件参数

参数名类型默认值说明
namestring-字段名称
labelstring-字段标签
valuestring-默认值
valueFormatstring'YYYY-MM-DD HH:mm:ss'日期值格式
displayFormatstring-日期显示格式
placeholderstring-占位文本
shortcutsstring|array-日期快捷键,如:today、yesterday、7daysago等
minDatestring-限制最小日期
maxDatestring-限制最大日期
minDurationstring-限制最小跨度,如:2days
maxDurationstring-限制最大跨度,如:1year
utcboolfalse是否保存UTC值
clearableboolfalse是否可清除
embedboolfalse是否内联模式
animationbooltrue是否启用游标动画
extraNamestring-是否存成两个字段
transformstring-日期数据处理函数
popOverContainerSelectorstring-弹层挂载位置选择器
requiredboolfalse是否必填
disabledboolfalse是否禁用

使用说明

  1. 默认返回格式为:"开始日期,结束日期"
  2. shortcuts支持的快捷键:today、yesterday、thisweek、prevweek、thismonth、prevmonth、7daysago等
  3. minDuration和maxDuration用于限制选择的时间跨度
  4. extraName可以将开始和结束日期存储到两个字段
  5. format方法同时设置valueFormat和displayFormat
  6. 使用datetime()方法可切换为日期时间范围选择