# UiType **控件功能**:所有输入控件的基础类,提供通用的值获取、设置、重置、禁用等方法。 **类型**:普通控件 **父类控件**:`bricks.Layout` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `name` | string | 控件名称(必填) | | `value` / `defaultvalue` | any | 默认值 | | `required` | boolean | 是否为必填项,默认 `false` | ## 主要事件 - `changed`:当控件值发生变化时触发,携带当前控件的键值对数据。 - `blur`:失去焦点时可能被派发(由子类实现)。 --- # UiHide **控件功能**:隐藏字段控件,用于存储不显示的数据,DOM 显示为 `display: none`。 **类型**:普通控件 **父类控件**:`UiType` ## 初始化参数 继承自 `UiType`,无额外参数。 ## 主要事件 - `changed`:值变化时触发。 --- # UiStr **控件功能**:单行文本输入框,支持对齐、长度限制、占位符等功能。 **类型**:普通控件 **父类控件**:`UiType` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `align` | string | 文本对齐方式:`left`, `center`, `right` | | `length` | number | 最大字符数(maxlength) | | `minlength` | number | 最小字符数(minlength) | | `tip` | string | 提示信息(暂未使用) | | `width` | string | 输入框宽度(如 `'200px'`) | | `readonly` | string/boolean | 是否只读 | | `required` | boolean | 是否必填 | | `placeholder` | string | 占位符文本(支持国际化) | | `css` | string | 自定义 CSS 类名 | | `dynsize` | boolean | 是否动态调整字体大小,默认 `true` | | `cfontsize` | number | 字体缩放比例 | ## 主要事件 - `focus`:获得焦点时触发。 - `blur`:失去焦点时触发。 - `changed`:输入内容改变且通过正则校验后触发。 - `keydown`:按下 Enter 键时会触发 blur 事件。 --- # UiPassword **控件功能**:密码输入框,继承 `UiStr`,输入内容掩码显示。 **类型**:普通控件 **父类控件**:`UiStr` ## 初始化参数 同 `UiStr`。 ## 主要事件 同 `UiStr`。 --- # UiInt **控件功能**:整数输入框,自动限制只能输入数字,右对齐显示。 **类型**:普通控件 **父类控件**:`UiStr` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `length` | number | 输入最大位数(可选) | ## 主要事件 - `changed`:输入合法整数时触发。 - 值始终以整数形式返回(调用 `parseInt`)。 --- # UiFloat **控件功能**:浮点数输入框,支持小数位控制和步长设置。 **类型**:普通控件 **父类控件**:`UiInt` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `dec_len` | number | 小数点后保留位数,默认为 2 | ## 主要事件 - `changed`:输入合法浮点数时触发。 - 返回值为 `parseFloat(this.value)`。 --- # UiTel **控件功能**:电话号码输入框,使用 ``,支持自定义 pattern。 **类型**:普通控件 **父类控件**:`UiStr` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `pattern` | string | 正则表达式字符串,用于验证输入格式 | ## 主要事件 - `changed`:输入符合 pattern 时触发。 --- # UiEmail **控件功能**:邮箱输入框,使用 ``,可附加自定义 pattern。 **类型**:普通控件 **父类控件**:`UiStr` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `pattern` | string | 可选的自定义正则验证规则 | ## 主要事件 - `changed`:输入合法邮箱格式时触发。 --- # UiFile **控件功能**:文件上传控件,支持拖拽上传、点击选择文件,可限定文件类型和多选。 **类型**:容器控件 **父类控件**:`VBox` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `accept` | string | 接受的 MIME 类型前缀,如 `'image/'`, `'audio/'` | | `multiple` | boolean | 是否允许多文件上传 | | `width` | string | 容器宽度,默认 `'100%'` | ## 主要事件 - `dragenter` / `dragover` / `dragleave` / `drop`:拖拽相关事件处理高亮与文件接收。 - `changed`:选择或拖入文件后触发,传递文件对象或数组。 - `input`:原生 input change 事件监听。 --- # UiImage **控件功能**:图像上传控件,支持拖拽、点击上传及拍照按钮,上传后预览图片。 **类型**:容器控件 **父类控件**:`UiFile` ## 初始化参数 同 `UiFile`,默认 `accept='image/'`。 ## 主要事件 - `changed`:文件选择或拍照完成后触发,附带 File 对象。 - `shot`:拍照完成事件由 `SysCamera` 派发并被捕获。 --- # UiAudio **控件功能**:音频上传控件,支持录音功能(麦克风),上传后可播放预览。 **类型**:容器控件 **父类控件**:`UiFile` ## 初始化参数 同 `UiFile`,默认 `accept='audio/'`。 ## 主要事件 - `changed`:文件选择或录音完成后触发。 - `record_end`:录音结束事件由 `SysAudioRecorder` 派发。 --- # UiVideo **控件功能**:视频上传控件,支持录制视频功能(摄像头),上传后可播放预览。 **类型**:容器控件 **父类控件**:`UiFile` ## 初始化参数 同 `UiFile`,默认 `accept='video/'`。 ## 主要事件 - `changed`:文件选择或录制完成后触发。 - `record_end`:录像结束事件由 `SysVideoRecorder` 派发。 --- # UiCheck **控件功能**:复选框控件(视觉上是图标切换),表示布尔状态(true/false)。 **类型**:普通控件 **父类控件**:`UiType` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `value` | boolean | 初始是否选中 | ## 主要事件 - `changed`:状态切换时触发,携带 `{name: true/false}` 数据。 - `state_changed`:图标状态变更事件(来自 `MultipleStateIcon`)。 --- # UiCheckBox **控件功能**:多选/单选组控件,基于数据生成多个 `UiCheck` + 文本标签。支持静态数据或远程加载。 **类型**:容器控件 **父类控件**:`UiType` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `label` | string | 分组标题 | | `data` | array | 静态选项列表 `[ {text:'', value:''} ]` | | `dataurl` | string | 远程数据 URL | | `method` | string | 请求方式,默认 GET | | `params` | object | 请求参数 | | `textField` | string | 显示字段名,默认 `'text'` | | `valueField` | string | 值字段名,默认 `'value'` | | `value` / `defaultValue` | string/array | 默认选中值(单选为字符串,多选为数组) | > 注:若 `multicheck` 属性存在且为真,则为多选模式。 ## 主要事件 - `changed`:任一选项状态变化时触发,携带 `{name: selectedValue(s)}`。 - 内部绑定 `UiCheck` 的 `changed` 事件进行值更新。 --- # UiDate **控件功能**:日期选择器,使用原生 ``,支持最小/最大日期限制。 **类型**:普通控件 **父类控件**:`UiStr` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `max_date` | string | 最大允许日期(格式 YYYY-MM-DD) | | `min_date` | string | 最小允许日期(格式 YYYY-MM-DD) | ## 主要事件 - `changed`:日期更改时触发。 - `blur` / `focus`:焦点事件由父类支持。 --- # UiText **控件功能**:多行文本域(textarea),支持 Tab 缩进、回车换行、动态字体适配。 **类型**:普通控件 **父类控件**:`UiType` ## 初始化参数 | 参数 | 类型 | 说明 | |------|------|------| | `rows` | number | 行数,默认 5 | | `cols` | number | 列数,默认 40 | | `readonly` | boolean | 是否只读 | | `required` | boolean | 是否必填 | | `value` / `defaultvalue` | string | 默认文本内容 | ## 主要事件 - `input`:内容变化时更新内部值。 - `keydown`:拦截 Tab 和 Enter 键实现智能缩进与换行。 - `changed`:内容变化时手动派发。 --- # UiCode **控件功能**:下拉选择框(`