4.3 KiB
4.3 KiB
Image
控件功能,类型(普通控件或容器控件),父类控件
用于显示图片的控件。支持设置图片 URL、默认错误备用图,以及将当前图像内容导出为 Base64 字符串。
类型: 普通控件
父类控件: bricks.JsWidget
初始化参数
| 参数名 | 类型 | 说明 |
|---|---|---|
url |
String | 图片的 URL 地址,构造时会自动设置到 <img> 元素的 src 属性 |
default_url |
String | 当图片加载失败时,自动切换为此 URL 显示备用图 |
height |
Number (可选) | 设置图片高度(可由 CSS 或 DOM 自动处理) |
width |
Number (可选) | 设置图片宽度(可由 CSS 或 DOM 自动处理) |
注:所有参数通过
opts对象传入构造函数。
主要事件
无显式定义事件,但内部使用了原生 <img> 的 onerror 事件来处理加载失败情况:
onerror→ 触发set_default_url()
当图片加载失败时,自动替换为default_url指定的备用图片,并清除错误监听以防止循环触发。
Icon
控件功能,类型(普通控件或容器控件),父类控件
基于 Image 扩展的图标控件,支持字符单位尺寸缩放(charsize 基础)、动态大小调整和布局适配。常用于界面中与文字对齐的小图标。
类型: 普通控件
父类控件: bricks.Image
初始化参数
| 参数名 | 类型 | 说明 |
|---|---|---|
url |
String | 图标图片地址,继承自 Image |
rate |
Number | 缩放倍率,默认为 1,实际大小 = charsize * rate |
cwidth |
Number | 占据的字符宽度,默认为 1 |
cheight |
Number | 占据的字符高度,默认为 1 |
dynsize |
Boolean | 是否启用动态尺寸调整,默认为 true,根据 charsize_sizing() 调整尺寸 |
注:
charsize来源于bricks.app.charsize,是应用级字体基准单位。
主要事件
无独立事件定义,行为主要在初始化和属性变更后通过 options_parse() 触发重绘。
options_parse()
在控件初始化时调用,用于解析并应用尺寸相关选项,包括设置 URL 和调整大小。
StatedIcon
控件功能,类型(普通控件或容器控件),父类控件
状态图标控件,可依据不同状态切换对应图标图像。适用于如开关状态、多态指示器等场景。
类型: 普通控件
父类控件: bricks.Icon (间接继承 Image)
初始化参数
| 参数名 | 类型 | 说明 |
|---|---|---|
states |
Array<{state: String, url: String}> | 状态数组,每个对象包含一个状态名和对应的图片 URL |
state |
String | 初始状态名称;若未指定,则默认使用 states[0].state |
rate, cwidth, cheight, dynsize |
同上 | 继承自 Icon 的布局与样式参数 |
示例:
{ states: [ { state: 'normal', url: 'icon-normal.png' }, { state: 'active', url: 'icon-active.png' } ], state: 'normal' }
主要事件
set_state(state)
方法:手动设置当前状态,控件会查找匹配的状态项并更新图片 URL,重新解析选项并渲染。- 参数:
state—— 要切换到的状态字符串 - 行为:遍历
this.states,找到对应项后调用super.options_parse()更新视图
- 参数:
BlankIcon
控件功能,类型(普通控件或容器控件),父类控件
空白占位图标控件,不显示任何图像,仅作为具有固定字符尺寸的透明占位符,用于布局对齐或动态替换前的预留空间。
类型: 普通控件
父类控件: bricks.JsWidget
初始化参数
| 参数名 | 类型 | 说明 |
|---|---|---|
rate |
Number | 尺寸缩放比率,默认为 1,影响基于 charsize 的计算 |
cwidth |
Number | 占据的字符宽度,默认为 1 |
cheight |
Number | 占据的字符高度,默认为 1 |
dynsize |
Boolean | 是否启用动态尺寸调整,默认为 true,控制是否响应 charsize_sizing() |
主要事件
无公开事件或回调。其核心作用是在 UI 布局中保持与其他图标一致的尺寸行为,而不加载任何图像资源。