创建剪切板并复制

封装一个剪切版
提示使用了antd的massage不需要提示可自行修改

import { message } from 'antd';
/**
 *  拷贝指定文案到剪贴板
 * * text 要复制的文案
 * * prompt 是否提示复制成功
 * * return true 复制成功 false 复制失败
 */
export const handleCopy = (
  text: string,
  prompt: boolean | undefined = true,
  msgTest: string | undefined = "复制成功!"
) => {
  if (text) {
    const textarea: any = document.createElement("textArea");//创建input对象
    const currentFocus: any = document.activeElement;//当前获得焦点的元素
    document.body.appendChild(textarea);//添加元素
    textarea.value = text;
    textarea.focus();
    if (textarea.setSelectionRange)
      textarea.setSelectionRange(0, textarea.value.length);//获取光标起始位置到结束位置
    else
      textarea.select();
    try {
      var flag = document.execCommand("copy");//执行复制
      if (prompt) { message.success(msgTest); }
    } catch (eo) {
      var flag = false;
    }
    document.body.removeChild(textarea);//删除元素
    currentFocus?.focus();
    return flag;
  } else {
    message.error("复制失败,当前复制内容为空!");
    return false;
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值