import React from 'react'; import { Box, Flex, type BoxProps } from '@chakra-ui/react'; import { useLoading } from '@/hooks/useLoading'; import { useSelectFile } from '@/hooks/useSelectFile'; import MyIcon from '@/components/Icon'; interface Props extends BoxProps { fileExtension: string; tipText?: string; onSelectFile: (files: File[]) => Promise; isLoading?: boolean; } const FileSelect = ({ fileExtension, onSelectFile, isLoading, tipText, ...props }: Props) => { const { Loading: FileSelectLoading } = useLoading(); const { File, onOpen } = useSelectFile({ fileType: fileExtension, multiple: true }); return ( {/* 拖拽文件至此,或{' '} */} 点击 选择文件 支持 {fileExtension} 文件 {tipText && ( {tipText} )} ); }; export default FileSelect;