能力
canvas
可绘制画布,通过 ac.drawCanvas 等宿主 API 控制。
协议优先
微信兼容子集
宿主能力:canvas
使用示例
<canvas canvas-id="chart" width="300" height="160" />
属性说明
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
id | string | 否 | 节点标识,可用于 label.for 或测试定位。 | |
class | string | 否 | 附加样式类名。 | |
style | string | 否 | 受限内联样式。 | |
hidden | boolean | false | 否 | 是否隐藏当前节点。 |
data-* | string | 否 | 事件触发时进入 event.dataset。 | |
canvas-id | string | 必填 | 是 | 画布实例标识,canvas API 通过它定位目标。 |
type | string | 否 | 组件类型或输入类型。 | |
width | number | 否 | 画布宽度。 | |
height | number | 否 | 画布高度。 |
事件说明
| 事件 | event.detail | 说明 |
|---|---|---|
bindtap | { canvasId } | 点击时触发。 |
bindtouchstart | { canvasId } | 触摸事件。 |
bindtouchmove | { canvasId } | 触摸事件。 |
bindtouchend | { canvasId } | 触摸事件。 |
Manifest 声明
能力组件必须声明权限和 API。没有宿主 provider 时,运行时会展示稳定降级态或返回结构化错误。
{
"permissions": [],
"apisUsed": [
"ac.drawCanvas"
]
}
平台支持
| 平台 | 支持情况 |
|---|---|
| Web | 支持 |
| Android SDK | WebView 运行时支持 |
| iOS SDK | WebView 运行时支持 |
| Flutter SDK | WebView 运行时支持 |
渲染协议
| 字段 | 值 |
|---|---|
| HTML 标签 | canvas |
| 样式类 | mini-canvas |
| 是否空元素 | 否 |
| 必填属性 | canvas-id |
| 必需 API | ac.drawCanvas |