upload.tsx 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import React, { useState, useEffect } from 'react';
  2. import { connect } from 'dva';
  3. import AliyunOssUploader from '@/components/OssUpload/AliyunOssUploader';
  4. interface IProps {
  5. label?: string;
  6. value?: string;
  7. OSSData?: any;
  8. onChange?: (value: string) => void;
  9. beforeUpload?: (file: any) => Boolean;
  10. onUploading?: (value: string) => void;
  11. }
  12. const UploadFiled: React.FC<IProps> = props => {
  13. const { label = '标签', value, onChange, onUploading, OSSData, beforeUpload } = props;
  14. const uploadProps = {
  15. OSSData: OSSData,
  16. onDone: file => {
  17. let url: string = OSSData.host + '/' + file.url;
  18. onChange(url);
  19. },
  20. onUploading: onUploading,
  21. beforeUpload: beforeUpload,
  22. noStyle: false,
  23. showUploadList: false,
  24. };
  25. return (
  26. <div className="group">
  27. <label>{label}</label>
  28. <AliyunOssUploader {...uploadProps} directory={false} label="上传"></AliyunOssUploader>
  29. </div>
  30. );
  31. };
  32. export default connect(({ xflow }) => ({
  33. OSSData: xflow.OSSData,
  34. }))(UploadFiled);