1- import type { MouseEvent } from 'react' ;
1+ import type { MouseEvent , InputHTMLAttributes } from 'react' ;
22import React , { useState } from 'react' ;
33import { AddIcon , CloseCircleIcon , CloseIcon , LoadingIcon } from 'tdesign-icons-react' ;
44import classNames from 'classnames' ;
@@ -20,8 +20,19 @@ const Upload: React.FC<UploadProps> = (props) => {
2020 const [ showImageIndex , setShowImageIndex ] = useState ( 0 ) ;
2121 const rootClassName = usePrefixClass ( 'upload' ) ;
2222 const globalConfig = useConfig ( ) ;
23- const { onPreview, onClickUpload, addBtn, addContent, accept, className, max, multiple, imageProps, preview } =
24- useDefaultProps ( props , uploadDefaultProps ) ;
23+ const {
24+ onPreview,
25+ onClickUpload,
26+ addBtn,
27+ addContent,
28+ accept,
29+ capture,
30+ className,
31+ max,
32+ multiple,
33+ imageProps,
34+ preview,
35+ } = useDefaultProps ( props , uploadDefaultProps ) ;
2536 const { displayFiles, inputRef, disabled, onNormalFileChange, onInnerRemove } = useUpload ( props ) ;
2637 const previewImgs = displayFiles . map ( ( img ) => img . url || '' ) ;
2738 const uploadGlobalConfig = globalConfig . upload ;
@@ -115,7 +126,15 @@ const Upload: React.FC<UploadProps> = (props) => {
115126 < div className = { containerClassName } >
116127 { renderDisplayFiles ( ) }
117128 { renderAddContent ( ) }
118- < input hidden ref = { inputRef } type = "file" multiple = { multiple } accept = { accept } onChange = { onNormalFileChange } />
129+ < input
130+ hidden
131+ ref = { inputRef }
132+ type = "file"
133+ multiple = { multiple }
134+ accept = { accept }
135+ capture = { capture as InputHTMLAttributes < unknown > [ 'capture' ] }
136+ onChange = { onNormalFileChange }
137+ />
119138 < ImageViewer visible = { showViewer } images = { previewImgs } index = { showImageIndex } onClose = { handleImageViewerClose } />
120139 </ div >
121140 ) ;
0 commit comments