You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
763 B
34 lines
763 B
class FileInput extends React.Component {
|
|
constructor(props) {
|
|
// highlight-range{3}
|
|
super(props);
|
|
this.handleSubmit = this.handleSubmit.bind(this);
|
|
this.fileInput = React.createRef();
|
|
}
|
|
handleSubmit(event) {
|
|
// highlight-range{3}
|
|
event.preventDefault();
|
|
alert(
|
|
`Selected file - ${this.fileInput.current.files[0].name}`
|
|
);
|
|
}
|
|
|
|
render() {
|
|
// highlight-range{5}
|
|
return (
|
|
<form onSubmit={this.handleSubmit}>
|
|
<label>
|
|
Upload file:
|
|
<input type="file" ref={this.fileInput} />
|
|
</label>
|
|
<br />
|
|
<button type="submit">Submit</button>
|
|
</form>
|
|
);
|
|
}
|
|
}
|
|
|
|
const root = ReactDOM.createRoot(
|
|
document.getElementById('root')
|
|
);
|
|
root.render(<FileInput />);
|
|
|