vue使用原生JS实现复制文本到剪贴板

实现逻辑

export function copyToClip(text: string) {
  return new Promise((resolve, reject) => {
    try {
      const input: HTMLTextAreaElement = document.createElement('textarea')
      input.setAttribute('readonly', 'readonly')
      input.value = text
      document.body.appendChild(input)
      input.select()
      if (document.execCommand('copy'))
        document.execCommand('copy')
      document.body.removeChild(input)
      resolve(text)
    }
    catch (error) {
      reject(error)
    }
  })
}

使用

# 导入
import { copyToClip } from '@/utils/copy'
# 执行复制
copyToClip(item.content).then(() => {
   ElMessage.success('复制成功');
})
posted @ 2025-08-23 16:35  程序员の奇妙冒险  阅读(3)  评论(0)    收藏  举报