uni.createCanvasContextAsync(options)
获取CanvasContext对象实例
uni.createCanvasContextAsync 方法可以异步获取页面上指定id的canvas组件的上下文对象CanvasContext。
因微信小程序获取CanvasContext只能异步,所以为了跨端,本API也被设计成了异步API,需要在回调中获取CanvasContext。
获取到CanvasContext对象后,还需通过getContext("2d")方法获取CanvasRenderingContext2D对象。
如果不考虑小程序,那么Web和App其实支持通过uni.getElementById方式同步获取UniCanvasElement。
参考文档:
createCanvasContextAsync 兼容性
Web | Android | iOS |
4.25 | 4.25 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
options | CreateCanvasContextAsyncOptions | 是 | - | - | - |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | id | string.IDString | 是 | - |
Web
|
Android
|
iOS
| 4.25 | 4.25 | 4.25 |
| canvas 元素的 id 属性 | component | ComponentPublicInstance | 否 | - |
Web
|
Android
|
iOS
| 4.25 | 4.25 | 4.25 |
| 组件或页面实例,限定在什么范围内查找id | success | (context: CanvasContext) => void | 否 | - |
Web
|
Android
|
iOS
| 4.25 | 4.25 | 4.25 |
| 接口调用成功的回调函数 | fail | (error: UniError) => void | 否 | - |
Web
|
Android
|
iOS
| 4.25 | 4.25 | 4.25 |
| 接口调用失败的回调函数 | complete | () => void | 否 | - |
Web
|
Android
|
iOS
| 4.25 | 4.25 | 4.25 |
| 接口调用结束的回调函数(调用成功、失败都会执行) |
|
CanvasContext 的方法
getContext(type: '2d'): CanvasRenderingContext2D | null
getContext 兼容性
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
type | string | 是 | - | - | - |
返回值
toBlob(callback: CanvasContextToBlobCallback, type?: string, quality?: number): void
创造 Blob 对象
toBlob 兼容性
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (blob: Blob) => void | 是 | - | - | - |
type | string | 否 | - | - | - |
quality | number | 否 | - | - | - |
toDataURL(): string
返回一个包含图片展示的 data URI
toDataURL 兼容性
Web | Android | iOS |
4.25 | 4.25 | 4.25 |
返回值
createImage(): Image
返回一个包含图片展示的 data URI
createImage 兼容性
Web | Android | iOS |
4.25 | 4.25 | 4.25 |
返回值
类型 | 描述 |
Image | 重复的图像源,支持代码包路径和本地临时路径 (本地路径) |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | src | string | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.25 | 4.25 | x |
| 图片url | classList | Array<string> | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | x |
| 只读属性 获取当前元素的的 class 属性的动态集合。 | firstChild | UniElement | 否 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的的第一个子元素,如果元素是无子元素,则返回 null。 | lastChild | UniElement | 否 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的最后一个子元素,如果没有子元素,则返回 null。 | parentElement | UniElement | 否 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素在 DOM 树中的父元素,如果没有父元素(如未添加到DOM树中),则返回null。 | previousSibling | UniElement | 否 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的前一个同级元素,没有则返回null。 | nextElementSibling | UniElement | 否 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取在 DOM 树中紧跟在其后面的同级元素,如果指定的元素为最后一个元素,则返回 null。 | children | Array<UniElement> | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素包含的子元素的集合 | tagName | string | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的标签名 | nodeName | string | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的元素名称 | dataset | Map<string, any> | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | x |
| 只读属性 获取元素上自定义数据属性(data-*)的集合 | attributes | Map<string, any> | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取元素上所有属性元素的集合 | style | CSSStyleDeclaration | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取元素的CSS样式对象 | scrollWidth | number | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 | scrollHeight | number | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 | scrollLeft | number | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 | scrollTop | number | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 | offsetLeft | number | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 元素的左边界偏移值 单位px | offsetTop | number | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 元素的顶部边界偏移值 单位px | offsetWidth | number | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px | offsetHeight | number | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | 4.25 |
| 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px | ext | Map<string, any> | 是 | - |
Web
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.0 | 4.11 | x |
| 只读属性 扩展属性 |
|
Image 的方法
onload(): void | null
图片加载完成事件
onload 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.25 | 4.25 | x |
takeSnapshot(options: TakeSnapshotOptions): void
对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。
成功会返回图片对应的临时文件路径,目前默认png格式
takeSnapshot 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
x | 3.93 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
options | TakeSnapshotOptions | 是 | - | - | 组件截图的参数对象 |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | type | string | 否 | "file" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 | format | string | 否 | "png" | - | 截图文件格式,目前仅支持 'png' | success | (res: TakeSnapshotSuccess) => void | 否 | - | - | 成功回调函数定义 | fail | (res: TakeSnapshotFail) => void | 否 | - | - | 失败回调函数定义 | complete | (res: any) => void | 否 | - | - | 完成回调函数定义 |
|
TakeSnapshotSuccess 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |
TakeSnapshotFail 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errMsg | string | 是 | - | - | - |
appendChild(aChild: UniElement): void
将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。
appendChild 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
aChild | UniElement | 是 | - | - | 插入子元素对象 |
insertBefore(newChild: UniElement, refChild?: UniElement | null): UniElement | null
在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。
insertBefore 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
返回值
setAttribute(key: string, value: string): void
设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。
setAttribute 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
key | string | 是 | - | - | 属性名称 |
value | string | 是 | - | - | 属性值域 |
getAttribute(key: string): string | null
获取元素指定的属性值,如果指定的属性不存在则返回null。
getAttribute 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
key | string | 是 | - | - | 属性名称 |
返回值
hasAttribute(key: string): boolean
返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。
hasAttribute 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
key | string | 是 | - | - | 属性名称 |
返回值
removeAttribute(key: string): void
从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。
removeAttribute 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
key | string | 是 | - | - | 属性名称 |
getBoundingClientRect(): DOMRect
获取元素的大小及其相对于窗口的位置信息。
getBoundingClientRect 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
返回值
getDrawableContext(): DrawableContext | null
获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。
getDrawableContext 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
x | 3.9 | 4.11 | 4.25 |
返回值
removeChild(aChild: UniElement): UniElement | null
从元素中删除一个子元素,返回删除的元素。
removeChild 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
aChild | UniElement | 是 | - | - | 被删除子元素对象 |
返回值
remove(): void
把元素对象从它所属的 DOM 树中删除。
remove 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |
y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) |
使得元素滚动一段特定距离 仅scroll-view、list-view组件支持
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
x | number | 是 | - | - | x轴要滚动的距离(单位px) |
y | number | 是 | - | - | y轴要滚动的距离(单位px) |
querySelector(selector: string.cssSelectorString): UniElement | null
返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null
querySelector 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
返回值
querySelectorAll(selector: string.cssSelectorString): UniElement[] | null
返回与指定的选择器组匹配的文档中的元素列表
querySelectorAll 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
参数
返回值
focus(): void
使元素获取焦点 仅input、Textarea组件支持
focus 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
blur(): void
使元素丢失焦点 仅input、Textarea组件支持
blur 兼容性
Web | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.0 | 4.11 | 4.25 |
getAndroidView(): View | null
获取元素android原生view 可能返回null
getAndroidView 兼容性
返回值
getAndroidActivity(): Activity | null
获取元素android原生activity 可能返回null
getAndroidActivity 兼容性
返回值
createPath2D(): Path2D
返回一个包含图片展示的 data URI
createPath2D 兼容性
Web | Android | iOS |
4.25 | 4.25 | 4.25 |
返回值
requestAnimationFrame(callback: RequestAnimationFrameCallback): number;
在下一次重绘之前,调用用户提供的回调函数
requestAnimationFrame 兼容性
Web | Android | iOS |
4.25 | 4.25 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (time: number) => void | 是 | - | - | - |
返回值
cancelAnimationFrame(taskId: number): void;
取消一个先前通过调用 uni.requestAnimationFrame() 方法添加到计划中的动画帧请求
cancelAnimationFrame 兼容性
Web | Android | iOS |
4.25 | 4.25 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
taskId | number | 是 | - | - | - |
参见
通用类型
GeneralCallbackResult
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errMsg | string | 是 | - | - | 错误信息 |