Skip to content

Commit d7e334a

Browse files
authored
fix: button logic (#524)
1 parent 5bfa1a5 commit d7e334a

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/AjaxUploader.tsx

+15-13
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
/* eslint react/no-is-mounted:0,react/sort-comp:0,react/prop-types:0 */
2-
import type { ReactElement } from 'react';
3-
import React, { Component } from 'react';
42
import clsx from 'classnames';
53
import pickAttrs from 'rc-util/lib/pickAttrs';
6-
import defaultRequest from './request';
7-
import getUid from './uid';
4+
import React, { Component } from 'react';
85
import attrAccept from './attr-accept';
9-
import traverseFileTree from './traverseFileTree';
106
import type {
11-
UploadProps,
7+
BeforeUploadFileType,
8+
RcFile,
129
UploadProgressEvent,
10+
UploadProps,
1311
UploadRequestError,
14-
RcFile,
15-
BeforeUploadFileType,
1612
} from './interface';
13+
import defaultRequest from './request';
14+
import traverseFileTree from './traverseFileTree';
15+
import getUid from './uid';
1716

1817
interface ParsedFileInfo {
1918
origin: RcFile;
@@ -41,20 +40,23 @@ class AjaxUploader extends Component<UploadProps> {
4140
this.reset();
4241
};
4342

44-
onClick = (e: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => {
43+
onClick = (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => {
4544
const el = this.fileInput;
4645
if (!el) {
4746
return;
4847
}
49-
const { children, onClick } = this.props;
50-
if (children && (children as ReactElement).type === 'button') {
48+
49+
const target = event.target as HTMLElement;
50+
const { onClick } = this.props;
51+
52+
if (target && target.tagName === 'BUTTON') {
5153
const parent = el.parentNode as HTMLInputElement;
5254
parent.focus();
53-
parent.querySelector('button').blur();
55+
target.blur();
5456
}
5557
el.click();
5658
if (onClick) {
57-
onClick(e);
59+
onClick(event);
5860
}
5961
};
6062

0 commit comments

Comments
 (0)