Skip to content

useDomToImage

元素转为图片。

返回值

名称类型说明
create(imageType?: UseDomToImageOptions['imageType']) => Promise<DomToImageResult>创建方法

UseDomToImageOptions

code
ts
interface UseDomToImageOptions<T extends TargetType = Element>
  extends ReDomToImageOptions {
  /**
   *
   *
   * 指定图片类型,允许传递 imageType 参数,用于指定图片类型
   *
   * @default jpeg
   */
  imageType?: ImageType
  /**
   *
   *
   * 在 dom 转换为图片之前执行
   *
   * @param element current dom
   *
   * @default undefined
   */
  beforeCreate?: (element: T | null | undefined) => void
  /**
   *
   * @param element current dom
   * @param result dom to image result
   *
   * 在 dom 转换为图片之后执行
   *
   * @default undefined
   */
  created?: (result: DomToImageResult, element: T) => void
  /**
   *
   * @param error dom to image error
   *
   * 在 dom 转换为图片失败时执行
   *
   * @default undefined
   */
  createdError?: (error?: Error) => void
  /**
   *
   * @param element current dom
   *
   * 无论 dom 转换为图片成功或失败,都会执行
   *
   * @default undefined
   */
  finally?: () => void
}

基础使用

create 创建图片

tsx
import { NButton } from 'naive-ui'

import { ref } from 'vue'
import { useDomToImage } from '@/hooks'

const Demo = defineComponent({
  setup() {
    const elementRef = ref<HTMLElement>()
    const { create } = useDomToImage(elementRef, {
      // UseDomToImageOptions
    })

    return {
      create,
      elementRef,
    }
  },
  render() {
    const { create } = this

    return (
      <div ref="elementRef">
        <NButton onClick={() => create()}>create</NButton>
      </div>
    )
  },
})

Released under the MIT License.