这是我在 React JS 中上传多个文件并将这些文件显示在用户面前的代码。.我在文件名称附近有两个按钮:第一个按钮名称:“删除”当用户单击它时,所有行都消失了,效果很好。第二个按钮名称:“更改”当用户点击它时,他可以上传另一个文件,新文件必须替换旧文件。我怎样才能做到这一点 ?
import React from 'react';
import '../index.css';
import './dna.css';
export default class Browse extends React.Component {
state = {
files: []
};
fileUpload = (e) => {
console.log(e.target.files);
this.setState({ files: [...e.target.files] });
};
Change(id) {
console.log('Change Function');
}
Delete(name) {
this.setState((prevState) => ({
files: prevState.files.filter((file) => file.name !== name)
}));
console.log(this.state.files.name);
}
render() {
return (
<div className='Browse'>
<label>Insert DNA Files:</label>
<input
type='file'
multiple='multiple'
id='file'
onChange={this.fileUpload}
/>
<table className='filesName'>
{this.state.files.map((file, i) => (
<tr key={i}>
- <th style={{ textAlign: 'left' }}>{file.name} : </th>
<th>
<button type='file' onClick={() => this.Change(i)}>
Change
</button>
</th>
<th>
<button onClick={() => this.Delete(file.name)}>Delete</button>
</th>
</tr>
))}
</table>
</div>
);
}
}