Skip to content

useCopy

Cross-platform clipboard copy hook. H5 uses Clipboard API with execCommand fallback; mini-programs use uni API.

Usage

ts
import { useCopy } from 'see-u-ui'

const { copy, isCopying, lastResult } = useCopy({
  showToast: true,
  toastMessage: 'Copied!'
})

const success = await copy('text to copy')

API

useCopy(options?)

ParamTypeDefaultDescription
options.showToastbooleantrueShow success toast
options.toastMessagestring'复制成功'Toast message
options.toastDurationnumber1500Toast duration (ms)

Returns:

PropertyTypeDescription
copy(text: string) => Promise<boolean>Copy text to clipboard
isCopyingRef<boolean>Copying state (debounce)
lastResultRef<boolean | null>Last copy result

Platform Differences

  • H5: navigator.clipboard.writeText() (HTTPS required), fallback to document.execCommand('copy')
  • Mini-programs/App: uni.setClipboardData

Liao ICP No. 2025070134