clipboard.ts 759 B

1234567891011121314151617181920212223242526
  1. import Clipboard from "clipboard";
  2. import { queenApi } from "queenjs";
  3. export const clipboard = {
  4. copy(text: string) {
  5. return new Promise((resolve) => {
  6. const btn = document.createElement("button");
  7. btn.style.display = "none";
  8. btn.setAttribute("data-clipboard-text", text);
  9. document.body.appendChild(btn);
  10. const clip = new Clipboard(btn);
  11. clip.on("success", function (e) {
  12. e.clearSelection();
  13. document.body.removeChild(btn);
  14. queenApi.messageSuccess("复制成功");
  15. resolve(true);
  16. });
  17. clip.on("error", function () {
  18. document.body.removeChild(btn);
  19. queenApi.messageError("复制失败");
  20. resolve(false);
  21. });
  22. btn.click();
  23. });
  24. },
  25. };