eslink-ui-plus
Version:
vue3 component library, css framework
27 lines (24 loc) • 856 B
text/typescript
import ClipboardJS from "clipboard";
export const copyTool = (text: string, success?: any, error?: any) => {
let copyDom: any = null;
const copyDomOld = document.querySelector(".copy-virtual-btn");
if (copyDomOld) {
copyDom = copyDomOld;
} else {
copyDom = document.createElement("button");
copyDom.setAttribute("class", "copy-virtual-btn");
copyDom.setAttribute("style", "display: none");
document.body?.appendChild(copyDom);
}
const clipboard = new ClipboardJS(".copy-virtual-btn");
copyDom.setAttribute("data-clipboard-text", text);
clipboard.on("success", function (e) {
typeof success === "function" && success(e);
clipboard.destroy();
});
clipboard.on("error", function (e) {
typeof error === "function" && error(e);
clipboard.destroy();
});
copyDom.click();
};