sunmao-sdk
Version:
榫卯-开箱即用赋能-sdk
50 lines (47 loc) • 1.18 kB
JSX
import React from "react";
import { UploadOutlined } from "@ant-design/icons";
import { Upload, message, Button } from "antd";
export default function upload({
action,
value,
name,
onChange,
options = {}
}) {
const _action = action || (options && options.action);
const _className = `fr-upload-file ${options ? options.className : ""}`;
const props = {
name: "file",
action: _action,
className: _className,
onChange: info => {
if (info.file.status === "done") {
message.success(`${info.file.name} 上传成功`);
onChange(name, info.file.response.url);
} else if (info.file.status === "error") {
message.error(`${info.file.name} 上传失败`);
}
},
onRemove() {
onChange(name, "");
},
...options
};
return (
<div className="fr-upload-mod">
<Upload {...props}>
<Button icon={<UploadOutlined />}>上传</Button>
</Upload>
{value && (
<a
href={value}
target="_blank"
rel="noopener noreferrer"
className="fr-upload-preview"
>
已上传地址
</a>
)}
</div>
);
}