前端 复制到剪切板功能函数实现

EG:

第一种实现 :

// import { Message, Notice } from 'view-ui-plus';
/**
 * 复制到剪切板
 * 
 * @param {string} content - 内容 
 * @param {string} type - 类型 
 */
const copyShearPlate = (content, type) => {
  let title = {
    get: '获取token',
    update: '更新token'
  }[type]

  // 复制文本到剪贴板
  navigator.clipboard.writeText(content)
    .then(function () {
      
    // PS: 这个使用的是 view-ui-plus 组件库实现的弹窗提示 
      Notice.success({ title, render: h => h('span', ['已经成功复制到剪切板']) });
    })
    .catch(function (error) {
      Notice.error({ title, render: h => h('span', ['复制到剪切板失败']) })
    });
}

export { copyShearPlate }

第二种实现 :

PS: 比较接地气的写法

/**
 * 复制到剪切板
 * 
 * @param {string} content - 内容 
 * @param {string} type - 类型 
 */
const copyShearPlate = (content, type) => {
  let title = {
    get: '获取token',
    update: '更新token'
  }[type]
  try {
    const input = document.createElement('input');
    input.value = content;
    document.body.appendChild(input);
    input.select();
    document.execCommand('copy');
    document.body.removeChild(input);
    Notice.success({ title, render: h => h('span', ['已经成功复制到剪切板']) })
  } catch (error) {
    Notice.success({ title, render: h => h('span', ['复制到剪切板失败']) })
  }
}

第三种实现 :

function copyShearPlate(text) {
    const temp = document.createElement('textarea');
    temp.value = text;
    document.body.appendChild(temp);
    temp.select(); // 选择对象
    document.execCommand('Copy'); // 执行浏览器复制命令
    document.body.removeChild(temp);
}

使用: 

import { copyShearPlate } from "@utils";
copyShearPlate ("测试数据", "get")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值