import React from "react"; import styles from "./index.less"; import { Upload, Modal } from "antd"; import { PlusOutlined } from "@ant-design/icons"; function getBase64(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = error => reject(error); }); } class PicturesWall extends React.Component { state = { previewVisible: false, previewImage: "", fileList: [ { uid: "-1", name: "image.png", status: "done", url: "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" }, { uid: "-2", name: "image.png", status: "done", url: "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" }, { uid: "-3", name: "image.png", status: "done", url: "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" }, { uid: "-4", name: "image.png", status: "done", url: "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" }, { uid: "-5", name: "image.png", status: "error" } ] }; handleCancel = () => this.setState({ previewVisible: false }); handlePreview = async file => { if (!file.url && !file.preview) { file.preview = await getBase64(file.originFileObj); } this.setState({ previewImage: file.url || file.preview, previewVisible: true }); }; handleChange = ({ fileList }) => this.setState({ fileList }); render() { const { previewVisible, previewImage, fileList } = this.state; const uploadButton = (
Upload
); return (
{fileList.length >= 8 ? null : uploadButton} example
); } } export default () => (
);