UNPKG

@cainiaofe/cn-ui-m

Version:
42 lines (41 loc) 1.34 kB
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; }