UNPKG

@boewa-software/react-async-uploader

Version:

React Uploder

70 lines (58 loc) 1.56 kB
import React from 'react'; import PropType from 'prop-types'; import UploadInputComponent from "./UploadInputComponent"; import Uploader from "./Uploader"; class UploadInput extends React.Component { constructor(props) { super(props); this.state = { value: this.props.initialValue, }; } handleFileSuccess(file) { this.setState({ value: file.responseContent.upload }); } reset() { this.setState({ value: null }); } render() { const { componentProps, initialValue, ...props } = this.props; return ( <Uploader componentProps={{ value: this.state.value, reset: () => this.reset(), ...componentProps }} // Datei nach dem Erfolgreichen Upload in den lokalen State überführen onFileSuccess={(file) => this.handleFileSuccess(file)} // Datei aus dem Uploader entfernen, wenn sie im lokalen State abgespeichert wurde clearFileOnSuccess={true} {...props} /> ); } } UploadInput.propTypes = { ...Uploader.propTypes, component: PropType.any, initialValue: PropType.object, componentProps: PropType.object }; UploadInput.defaultProps = { component: UploadInputComponent, initialValue: null, componentProps: {}, }; export default UploadInput;