DateRange
概述
DateRange是日期范围选择组件,由起止两个日期输入框组合而成,用于录入一段时间区间。值既可以是分隔符连接的字符串,也可以是数组,还支持附带时间的日期时间范围。
示例
声明一个日期范围字段只需要指定widget: 'date-range':
ts
const form = document.querySelector('#form');
form.state = {
dates: configurable('2025-12-12', {
label: '日期范围',
help: '使用,分割',
widget: 'date-range',
}),
};loading
指南
基础用法
值为字符串时,起止日期默认按逗号,拼接与拆分:
ts
form.state = {
dates: configurable('2025-12-12', {
label: '日期范围',
help: '使用,分割',
widget: 'date-range',
}),
};值类型
值也可以直接使用数组,起止日期分别为数组的前后两个元素:
ts
form.state = {
dateArray: configurable(['2025-12-12'], {
label: '日期范围',
help: '值为数组',
widget: 'date-range',
}),
};自定义分隔符
值为字符串时,通过delimiter指定起止日期的连接符:
ts
form.state = {
dateDelimiter: configurable('2025-12-12', {
label: '日期范围',
help: '自定义分割符',
delimiter: '#',
widget: 'date-range',
}),
};包含时间
includeTime=true时,起止输入切换为datetime-local,可同时选择日期与时间:
ts
form.state = {
datetime: configurable('2025-12-12', {
label: '日期范围',
help: '包含时间',
includeTime: true,
widget: 'date-range',
}),
};属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
delimiter | string | ',' | 起止日期在值中的连接符(值为字符串时按此拆分) |
includeTime | boolean | false | 是否包含时间(datetime-local输入) |
filled | boolean | false | 是否填充背景 |
pill | boolean | false | 显示为椭圆形状的输入框 |
注意事项
- 值为数组时
delimiter不参与拆分,仅对字符串值生效。 includeTime=true时起止值格式为YYYY-MM-DDTHH:mm,注意后续解析。