z-react-ui
Version:
z-react-ui,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。
57 lines (45 loc) • 1.65 kB
JavaScript
;
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);
});
});
}
}