import * as React from 'react';
import * as filepond from 'react-filepond';
interface AppState {
files: filepond.File[];
filenames: string[];
}
// Example mostly taken from:
// https://github.com/pqina/react-filepond
class App extends React.Component<{}, AppState> {
private pond: filepond.FilePond | null;
constructor(props: {}) {
super(props);
this.state = {
// Set initial files
filenames: ['index.html'],
files: [],
};
}
private handleInit() {
console.log('FilePond instance has initialized', this.pond);
}
render() {
return (
{/* Pass FilePond properties as attributes */}
this.pond = ref}
allowMultiple={true}
maxFiles={3}
server={{
process: (field, file, metadata, load, error, progress, abort) => {},
revert: (id, load, error) => {},
restore: (id, load, error, progress, abort, headers) => {},
load: (source, load, error, progress, abort, headers) => {},
fetch: (url, load, error, progress, abort, headers) => {},
}}
oninit={() => this.handleInit() }
files={this.state.files}
onupdatefiles={(fileItems) => {
// Set current file objects to this.state
this.setState({
files: fileItems,
filenames: fileItems.map(fileItem => fileItem.file.name),
});
}}
>
{/* Update current files */}
{this.state.filenames.map(file => (
))}
);
}
}