sunmao-sdk
Version:
榫卯-开箱即用赋能-sdk
39 lines (37 loc) • 1.66 kB
JavaScript
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
import React from "react";
import { Icon, Upload, Message, Button } from "@alifd/next";
export default function upload(p) {
var props = {
name: "file",
listType: "text",
action: p.action || p.options && p.options.action,
enctype: "multipart/form-data",
withCredentials: true,
type: "file",
onChange: function onChange(res) {
var info = res[0];
if (info && info.response && info.response.status === "done") {
Message.success("".concat(info.name, " \u4E0A\u4F20\u6210\u529F"));
p.onChange(p.name, info.response.url);
} else if (info && info.response && info.response.status === "error") {
Message.error("".concat(info.file.name, " \u4E0A\u4F20\u5931\u8D25"));
}
},
onRemove: function onRemove() {
p.onChange(p.name, "");
}
};
return /*#__PURE__*/React.createElement("div", {
className: "fr-upload-mod"
}, /*#__PURE__*/React.createElement(Upload, _extends({}, props, {
className: "fr-upload-file"
}), /*#__PURE__*/React.createElement(Button, null, /*#__PURE__*/React.createElement(Icon, {
type: "upload"
}), " \u4E0A\u4F20")), p.value && /*#__PURE__*/React.createElement("a", {
href: p.value,
target: "_blank",
rel: "noopener noreferrer",
className: "fr-upload-preview"
}, "\u5730\u5740\u67E5\u770B"));
}