import { InboxOutlined } from "@ant-design/icons"; import { Col, Form, Input, message, Row, Upload, UploadProps } from "antd"; import { useEffect, useState } from "react"; import "./index.less"; const { Dragger } = Upload; interface IProps { onChange: Function; styles?: React.CSSProperties; } const BasicForm = (props: IProps) => { const [preview, setPreivew] = useState({ course_cover_url: "", course_title: "", course_summary: "", }); const [form] = Form.useForm(); const onValuesChange = (_: any, all: any) => setPreivew((p) => ({ ...p, ...all })); const coverDragger: UploadProps = { name: "file", multiple: true, action: "/api/vod/course/cover/upload", onChange(info) { const { status } = info.file; if (status !== "uploading") console.log(info.file, info.fileList); if (status === "done") { const { code, data } = info.file.response; if (code === 10000) { message.success(`${info.file.name} 文件上传成功`); const { MediaUrl } = data; setPreivew((p) => ({ ...p, course_cover_url: MediaUrl })); } } else if (status === "error") { message.error(`${info.file.name} 文件上传失败`); } }, onDrop(e) { console.log("Dropped files", e.dataTransfer.files); }, }; useEffect(() => props.onChange(preview), [preview]); return (
{!preview.course_title ? "标题" : preview.course_title}
{!preview.course_summary ? "摘要" : preview.course_summary}{" "}
上传课程封面图
点击或拖拽文件到此处