Skip to content

useClipboardItems

Category
Export Size
1.03 kB
Last Changed
4 days ago
Related

Reactive Clipboard API. Provides the ability to respond to clipboard commands (cut, copy, and paste) as well as to asynchronously read from and write to the system clipboard. Access to the contents of the clipboard is gated behind the Permissions API. Without user permission, reading or altering the clipboard contents is not permitted.

Demo

Your browser does not support Clipboard API

Difference from useClipboard

useClipboard is a "text-only" function, while useClipboardItems is a ClipboardItem based function. You can use useClipboardItems to copy any content supported by ClipboardItem.

Usage

vue
<script setup lang="ts">
import { 
useClipboardItems
} from '@vueuse/core'
const
mime
= 'text/plain'
const
source
=
ref
([
new
ClipboardItem
({
[
mime
]: new
Blob
(['plain text'], {
type
:
mime
}),
}) ]) const {
content
,
copy
,
copied
,
isSupported
} =
useClipboardItems
({
source
})
</script> <template> <
div
v-if="
isSupported
">
<
button
@
click
="
copy
(
source
)">
<!-- by default, `copied` will be reset in 1.5s --> <
span
v-if="!
copied
">Copy</
span
>
<
span
v-else>Copied!</
span
>
</
button
>
<
p
>
Current copied: <
code
>{{
content
|| 'none' }}</
code
>
</
p
>
</
div
>
<
p
v-else>
Your browser does not support Clipboard API </
p
>
</template>

Type Declarations

Show Type Declarations
ts
export interface 
UseClipboardItemsOptions
<
Source
>
extends ConfigurableNavigator { /** * Enabled reading for clipboard * * @default false */
read
?: boolean
/** * Copy source */
source
?:
Source
/** * Milliseconds to reset state of `copied` ref * * @default 1500 */
copiedDuring
?: number
} export interface
UseClipboardItemsReturn
<
Optional
> {
isSupported
:
ComputedRef
<boolean>
content
:
ComputedRef
<
ClipboardItems
>
copied
:
ComputedRef
<boolean>
copy
:
Optional
extends true
? (
content
?:
ClipboardItems
) =>
Promise
<void>
: (
text
:
ClipboardItems
) =>
Promise
<void>
} /** * Reactive Clipboard API. * * @see https://vueuse.org/useClipboardItems * @param options * * @__NO_SIDE_EFFECTS__ */ export declare function
useClipboardItems
(
options
?:
UseClipboardItemsOptions
<undefined>,
):
UseClipboardItemsReturn
<false>
export declare function
useClipboardItems
(
options
:
UseClipboardItemsOptions
<
MaybeRefOrGetter
<
ClipboardItems
>>,
):
UseClipboardItemsReturn
<true>

Source

SourceDemoDocs

Contributors

NoiseFan

Changelog

No recent changes

Released under the MIT License.