InputNumber 数字输入框
仅允许输入标准数字格式的输入框。
实现原理
使用 TextField 嵌套 Row、IconButton 等组件实现数字输入、步进控制、范围限制等功能。
基础用法
使用 value 和 onChanged 属性来实现数字输入框的基本功能。
步进幅度和范围限制
使用 step、min、max 属性来控制数字的步进幅度和范围限制。
可清空
使用 clearable 属性来启用清空功能。
前缀和后缀
使用 prefix 和 suffix 属性来添加输入框的前缀和后缀。
自定义图标
使用 decreaseIcon 和 increaseIcon 属性来自定义增减按钮的图标。
禁用和只读
使用 disabled 和 readOnly 属性来控制输入框的禁用和只读状态。
不同尺寸
使用 size 属性来定义输入框的尺寸,支持 small、medium、large 三种尺寸。
按钮位置
使用 controlsPosition 属性来控制增减按钮的位置。
自定义样式
使用 colorType、customColor、customHeight 等属性来自定义输入框的样式。
API
InputNumber 属性
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| value | 绑定值 | double? | - |
| onChanged | 值改变时触发 | (double?) => void | - |
| step | 步进幅度 | double | 1 |
| min | 最小值 | double? | - |
| max | 最大值 | double? | - |
| size | 输入框尺寸 | ESizeItem | ESizeItem.medium |
| disabled | 是否禁用 | bool | false |
| readOnly | 是否只读 | bool | false |
| clearable | 是否可清空 | bool | false |
| prefix | 输入框前缀 | Widget? | - |
| suffix | 输入框后缀 | Widget? | - |
| decreaseIcon | 减少按钮图标 | Widget? | - |
| increaseIcon | 增加按钮图标 | Widget? | - |
| controlsPosition | 控制按钮位置 | EInputNumberControlsPosition | EInputNumberControlsPosition.right |
| colorType | 颜色类型 | EColorType? | - |
| customColor | 自定义颜色 | Color? | - |
| customHeight | 自定义高度 | double? | - |
| customFontSize | 自定义字体大小 | double? | - |
| customBorderRadius | 自定义圆角 | double? | - |
InputNumber 事件
| 事件名 | 说明 | 参数 |
|---|---|---|
| onChanged | 值改变时触发 | (double?) => void |
| onFocus | 输入框获得焦点时触发 | () => void |
| onBlur | 输入框失去焦点时触发 | () => void |
</rewritten_file>