UNPKG

z-react-ui

Version:

z-react-ui,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。

57 lines (45 loc) 1.65 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = readPasteData; var _previewImg = _interopRequireDefault(require("./previewImg")); /** * 读取剪切板数据 */ function readPasteData(clipboardEvent, insertNode) { if (clipboardEvent == null) return; // 处理文本数据,移除样式 clipboardEvent.preventDefault(); var clipboardData = clipboardEvent === null || clipboardEvent === void 0 ? void 0 : clipboardEvent.clipboardData; if (!clipboardData) return; // 插入文本类型 var text = clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text/plain'); if (text) { // if (text?.includes('gif')) { // message.error('无法上传gif,请使用工具栏中的选择图片'); // return; // } var textNode = document.createTextNode(text); insertNode(textNode); } // 插入图片类型 var items = clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.items; var fileArr = []; if (items && items.length) { // 检索剪切板items for (var _i = 0, _Array$from = Array.from(items); _i < _Array$from.length; _i++) { var item = _Array$from[_i]; if (item.type.indexOf('image') !== -1) { fileArr.push(item.getAsFile()); break; } } } if (fileArr.length) { fileArr.forEach(function (file) { // 将生成img节点,插入输入框中 (0, _previewImg.default)(file, function (imgNode) { insertNode(imgNode); }); }); } }