|
@@ -11,15 +11,24 @@ class ImageUpload extends React.Component {
|
11
|
11
|
loading: false,
|
12
|
12
|
previewVisible: false,
|
13
|
13
|
previewImage: '',
|
14
|
|
- fileList: [],
|
|
14
|
+ fileList: this.getPropsFileList(),
|
15
|
15
|
};
|
16
|
16
|
|
17
|
|
- componentDidUpdate() { this.setState({ fileList: [{
|
18
|
|
- uid: '-1',
|
19
|
|
- name: 'image.png',
|
20
|
|
- status: 'done',
|
21
|
|
- url: this.props.value,
|
22
|
|
- }] }) }
|
|
17
|
+ componentDidUpdate(prevProps) {
|
|
18
|
+ // 直接 setState 会死循环
|
|
19
|
+ if (prevProps.value !== this.props.value) {
|
|
20
|
+ this.setState({ fileList: this.getPropsFileList() })
|
|
21
|
+ }
|
|
22
|
+ }
|
|
23
|
+
|
|
24
|
+ getPropsFileList() {
|
|
25
|
+ return !this.props.value ? [] : [{
|
|
26
|
+ uid: '-1',
|
|
27
|
+ name: 'image.png',
|
|
28
|
+ status: 'done',
|
|
29
|
+ url: this.props.value,
|
|
30
|
+ }]
|
|
31
|
+ }
|
23
|
32
|
|
24
|
33
|
|
25
|
34
|
handleChange = ({ file, fileList }) => {
|