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 ​

Source • Demo • Docs

Contributors ​

NoiseFan

Changelog ​

No recent changes

Released under the MIT License.