@cainiaofe/cn-ui-m
Version:
42 lines (41 loc) • 1.34 kB
TypeScript
import React from 'react';
import type { CnRequestConfig } from 'cn-request';
import type { CommonProps, IRequestConfig } from '@cainiaofe/cn-ui-common';
import type { CnButtonProps } from "../../cn-button";
export interface CnDownloadProps extends CommonProps, CnButtonProps {
/**
* 自定义下载
*/
customRender?: (download: () => Promise<void>) => React.ReactNode;
/**
* 下载按钮名称
*/
buttonText?: string;
/**
* 下载文件名称,默认取 url.substring(url.lastIndexOf('/'))
*/
fileName?: string;
/**
* 下载链接,优先级高于service
*/
url?: string;
/**
* 获取下载链接的请求配置或自定义获取oss下载链接的函数方法,优先级低于url参数
* @deprecated 请使用 requestConfig (since version 0.12.40)
*/
service?: CnRequestConfig | (() => Promise<string>);
/**
* 获取OSS上传凭证请求配置或请求方法,优先级低于url参数
*/
requestConfig?: IRequestConfig<string>;
/**
* 下载异常回调函数
* 当有异常且没有传该属性时,组件内部会通过CnMessage抛出异常
*/
onError?: (e: unknown) => void;
/**
* 触发下载后回调函数
*/
onSuccess?: (e: unknown) => void;
children?: React.ReactNode;
}