TimePicker 时间选择器
用于选择或输入日期时间的组件。
实现原理
使用 ETimePicker 组件实现,内部通过 Overlay 和 ListWheelScrollView 实现时间选择的下拉面板。
基础用法
使用 value 和 onChange 属性来定义时间选择器的值和回调函数。
时间格式
使用 use24HourFormat 属性来控制是否使用 24 小时制。
只读状态
使用 readOnly 属性来控制时间选择器是否为只读状态。
API
TimePicker 属性
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| value | 当前选中的时间 | DateTime? | - |
| onChange | 选中时间变化时的回调 | ValueChanged<TimeOfDay>? | - |
| placeholder | 输入框占位文本 | String? | '请选择时间' |
| prefix | 输入框前缀图标 | Widget? | 时钟图标 |
| size | 输入框尺寸 | ESizeItem | ESizeItem.medium |
| disabled | 是否禁用 | boolean | false |
| readOnly | 是否只读 | boolean | false |
| clearable | 是否可清空 | boolean | false |
| colorType | 输入框颜色类型 | EColorType | EColorType.primary |
| customColor | 自定义颜色 | Color? | - |
| defaultColor | 默认边框颜色 | Color | EBasicColors.borderGray |
| customHeight | 自定义高度 | double? | - |
| customFontSize | 自定义字体大小 | double? | - |
| customBorderRadius | 自定义圆角 | double? | - |
| showPlaceholderOnTop | 是否在聚焦时显示占位文本在上方 | boolean | false |
| use24HourFormat | 是否使用 24 小时制 | boolean | true |
TimePicker 事件
| 事件名 | 说明 | 参数 |
|---|---|---|
| onChange | 选中时间变化时触发 | TimeOfDay time |
| onFocus | 输入框获得焦点时触发 | () => void |
| onBlur | 输入框失去焦点时触发 | () => void |
| onClear | 点击清空按钮时触发 | () => void |