{
  "name": "Upload",
  "props": {
    "prefix": {
      "type": {
        "name": "string"
      },
      "required": true,
      "description": "样式前缀",
      "defaultValue": {
        "value": "'next-'",
        "computed": false
      },
      "docblock": "样式前缀"
    },
    "action": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "必选参数，上传的地址",
      "defaultValue": {
        "value": "'//kfupload.alibaba.com/mupload'",
        "computed": false
      },
      "docblock": "必选参数，上传的地址"
    },
    "fileList": {
      "type": {
        "name": "array"
      },
      "required": false,
      "description": "上传文件列表，数据格式请参考",
      "docblock": "上传文件列表，数据格式请参考"
    },
    "defaultFileList": {
      "type": {
        "name": "array"
      },
      "required": false,
      "description": "默认上传文件列表，数据格式请参考",
      "defaultValue": {
        "value": "[]",
        "computed": false
      },
      "docblock": "默认上传文件列表，数据格式请参考"
    },
    "listType": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'text'",
            "computed": false,
            "description": "文字"
          },
          {
            "value": "'text-image'",
            "computed": false,
            "description": "图文"
          },
          {
            "value": "'picture-card'",
            "computed": false,
            "description": "卡片"
          }
        ]
      },
      "required": false,
      "description": "上传列表的样式",
      "defaultValue": {
        "value": "'text'",
        "computed": false
      },
      "docblock": "上传列表的样式\n@enumdesc 文字, 图文, 卡片",
      "value": [
        {
          "value": "'text'",
          "computed": false,
          "description": "文字"
        },
        {
          "value": "'text-image'",
          "computed": false,
          "description": "图文"
        },
        {
          "value": "'picture-card'",
          "computed": false,
          "description": "卡片"
        }
      ]
    },
    "data": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "object"
          },
          {
            "name": "func"
          }
        ]
      },
      "required": false,
      "description": "上传额外传参（如果使用 `fileserver` 上传，参数格式为 { scene: '场景名' }）",
      "docblock": "上传额外传参（如果使用 `fileserver` 上传，参数格式为 { scene: '场景名' }）"
    },
    "formatter": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "数据格式化函数，配合自定义 action 使用，参数为服务器的响应数据，详见 [formatter](#formater)",
      "docblock": "数据格式化函数，配合自定义 action 使用，参数为服务器的响应数据，详见 [formatter](#formater)",
      "params": [],
      "returns": null
    },
    "maxSize": {
      "type": {
        "name": "number"
      },
      "required": false,
      "description": "选择上传的文件的最大尺寸（单位：Byte）",
      "defaultValue": {
        "value": "Infinity",
        "computed": true
      },
      "docblock": "选择上传的文件的最大尺寸（单位：Byte）"
    },
    "checkMaxSizeBeforeUpload": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否在上传前校验maxsize",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否在上传前校验maxsize"
    },
    "language": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "语言种类，支持 `en-us`、`zh-cn`、`zh-tw`",
      "docblock": "语言种类，支持 `en-us`、`zh-cn`、`zh-tw`"
    },
    "locale": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "自定义语言包，会与默认提供的语言包做合并操作，[详细参考](http://gitlab.alibaba-inc.com/next/upload/blob/master/src/locale/index.js)",
      "docblock": "自定义语言包，会与默认提供的语言包做合并操作，[详细参考](http://gitlab.alibaba-inc.com/next/upload/blob/master/src/locale/index.js)",
      "properties": []
    },
    "limit": {
      "type": {
        "name": "number"
      },
      "required": false,
      "description": "最大文件上传个数",
      "docblock": "最大文件上传个数"
    },
    "dragable": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "可选参数，是否支持拖拽上传，`ie10+` 支持。",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "可选参数，是否支持拖拽上传，`ie10+` 支持。"
    },
    "disabled": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "可选参数，是否禁用上传功能",
      "docblock": "可选参数，是否禁用上传功能"
    },
    "showUploadList": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否显示上传列表",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "是否显示上传列表"
    },
    "onChange": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "上传文件改变时的状态",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "上传文件改变时的状态\n@param {Object} info 文件事件对象",
      "params": [
        {
          "name": "info",
          "description": "文件事件对象",
          "type": {
            "name": "Object"
          }
        }
      ],
      "returns": null
    },
    "onSuccess": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "可选参数，上传成功回调函数，参数为请求下响应信息以及文件",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "可选参数，上传成功回调函数，参数为请求下响应信息以及文件",
      "params": [],
      "returns": null
    },
    "onRemove": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "移除文件回调函数，详见 [onRemove](#onRemove)",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "移除文件回调函数，详见 [onRemove](#onRemove)",
      "params": [],
      "returns": null
    },
    "onError": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "可选参数，上传失败回调函数，参数为上传失败的信息、响应信息以及文件",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "可选参数，上传失败回调函数，参数为上传失败的信息、响应信息以及文件",
      "params": [],
      "returns": null
    },
    "className": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "自定义class",
      "docblock": "自定义class"
    },
    "style": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "自定义内联样式",
      "docblock": "自定义内联样式",
      "properties": []
    },
    "children": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "子元素",
      "docblock": "子元素"
    },
    "accept": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "可选参数，接受上传的文件类型，详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)， [兼容性见](http://caniuse.com/#feat=input-file-accept)",
      "docblock": "可选参数，接受上传的文件类型，详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)， [兼容性见](http://caniuse.com/#feat=input-file-accept)"
    },
    "headers": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "可选参数，设置上传的请求头部",
      "docblock": "可选参数，设置上传的请求头部",
      "properties": []
    },
    "name": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "传递给服务器的文件参数",
      "docblock": "传递给服务器的文件参数"
    },
    "withCredentials": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "可选参数，是否允许请求携带 cookie",
      "docblock": "可选参数，是否允许请求携带 cookie"
    },
    "beforeUpload": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "可选参数，上传文件之前的钩子，参数为上传的文件，若返回 `false` 则停止上传",
      "docblock": "可选参数，上传文件之前的钩子，参数为上传的文件，若返回 `false` 则停止上传",
      "params": [],
      "returns": null
    }
  },
  "methods": [
    {
      "name": "onFileDrop",
      "docblock": "文件拖拽处理函数\n@param  {Event} e - 拖拽事件\n@return {void}",
      "modifiers": [],
      "params": [
        {
          "name": "e",
          "description": "拖拽事件",
          "type": {
            "name": "Event"
          }
        }
      ],
      "returns": {
        "description": null,
        "type": {
          "name": "void"
        }
      },
      "description": "文件拖拽处理函数"
    },
    {
      "name": "onStart",
      "docblock": "上传开始\n@param {FileList} files - 文件列表\n@return {void}",
      "modifiers": [],
      "params": [
        {
          "name": "files",
          "description": "文件列表",
          "type": {
            "name": "FileList"
          }
        }
      ],
      "returns": {
        "description": null,
        "type": {
          "name": "void"
        }
      },
      "description": "上传开始"
    },
    {
      "name": "onSuccess",
      "docblock": "上传成功回调\n@param  {Object} response - 服务器响应\n@param  {File} file - 文件对象\n@return {void}",
      "modifiers": [],
      "params": [
        {
          "name": "response",
          "description": "服务器响应",
          "type": {
            "name": "Object"
          }
        },
        {
          "name": "file",
          "description": "文件对象",
          "type": {
            "name": "File"
          }
        }
      ],
      "returns": {
        "description": null,
        "type": {
          "name": "void"
        }
      },
      "description": "上传成功回调"
    },
    {
      "name": "removeFile",
      "docblock": "删除文件\n@param {File} file\n@return {void}",
      "modifiers": [],
      "params": [
        {
          "name": "file",
          "description": null,
          "type": {
            "name": "File"
          }
        }
      ],
      "returns": {
        "description": null,
        "type": {
          "name": "void"
        }
      },
      "description": "删除文件"
    },
    {
      "name": "cancelFile",
      "docblock": "取消上传\n@param {File} file\n@return {void}",
      "modifiers": [],
      "params": [
        {
          "name": "file",
          "description": null,
          "type": {
            "name": "File"
          }
        }
      ],
      "returns": {
        "description": null,
        "type": {
          "name": "void"
        }
      },
      "description": "取消上传"
    }
  ],
  "subComponents": [
    {
      "name": "ImageUpload",
      "props": {},
      "methods": [],
      "description": "继承 Upload 的 API，除非特别说明",
      "order": 1
    },
    {
      "name": "DragUpload",
      "props": {
        "prefix": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "样式前缀",
          "defaultValue": {
            "value": "'next-'",
            "computed": false
          },
          "docblock": "样式前缀"
        },
        "onDragOver": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，拖拽到达拖拽区域回调函数",
          "docblock": "可选参数，拖拽到达拖拽区域回调函数",
          "params": [],
          "returns": null
        },
        "onDrop": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，拖拽释放回调函数，参数为拖拽的文件",
          "docblock": "可选参数，拖拽释放回调函数，参数为拖拽的文件",
          "params": [],
          "returns": null
        },
        "className": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "自定义类名",
          "docblock": "自定义类名"
        },
        "style": {
          "type": {
            "name": "object"
          },
          "required": false,
          "description": "自定义内联样式",
          "docblock": "自定义内联样式",
          "properties": []
        }
      },
      "methods": [
        {
          "name": "onFileDrop",
          "docblock": "控制拖拽状态",
          "modifiers": [],
          "params": [
            {
              "name": "e"
            }
          ],
          "returns": null,
          "description": "控制拖拽状态"
        },
        {
          "name": "dropEnd",
          "docblock": "`drop`类型事件触发后重置拖拽状态及清空传递的数据，防止子组件中`nextProps`继续获取重复数据",
          "modifiers": [],
          "params": [],
          "returns": null,
          "description": "`drop`类型事件触发后重置拖拽状态及清空传递的数据，防止子组件中`nextProps`继续获取重复数据"
        },
        {
          "name": "onListChange",
          "docblock": "当上传列表不为空时，不需要展示拖拽提示文案",
          "modifiers": [],
          "params": [
            {
              "name": "fileList"
            }
          ],
          "returns": null,
          "description": "当上传列表不为空时，不需要展示拖拽提示文案"
        }
      ],
      "description": "IE10+ 支持。继承 Upload 的 API，除非特别说明",
      "order": 2
    },
    {
      "name": "CropUpload",
      "props": {
        "prefix": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "样式前缀",
          "defaultValue": {
            "value": "'next-'",
            "computed": false
          },
          "docblock": "样式前缀"
        },
        "action": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "必选参数，上传的地址。使用 fileserver，跨域解决方案参考 [fileserver 接入](#fileserver)，[`非 fileserver` 使用说明](#not-fileserver)",
          "defaultValue": {
            "value": "'//kfupload.alibaba.com/mupload'",
            "computed": false
          },
          "docblock": "必选参数，上传的地址。使用 fileserver，跨域解决方案参考 [fileserver 接入](#fileserver)，[`非 fileserver` 使用说明](#not-fileserver)"
        },
        "name": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "可选参数，传递给服务器的文件参数",
          "defaultValue": {
            "value": "'avatar'",
            "computed": false
          },
          "docblock": "可选参数，传递给服务器的文件参数"
        },
        "cropSize": {
          "type": {
            "name": "union",
            "value": [
              {
                "name": "number"
              },
              {
                "name": "object"
              }
            ]
          },
          "required": false,
          "description": "可选参数，设置裁剪图片生成的尺寸，如设置 `100`，会生成 `100*100` 的图片",
          "docblock": "可选参数，设置裁剪图片生成的尺寸，如设置 `100`，会生成 `100*100` 的图片"
        },
        "minCropBoxSize": {
          "type": {
            "name": "number"
          },
          "required": false,
          "description": "可选参数，设置裁剪框的最小尺寸",
          "docblock": "可选参数，设置裁剪框的最小尺寸"
        },
        "className": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "自定义类名",
          "docblock": "自定义类名"
        },
        "style": {
          "type": {
            "name": "object"
          },
          "required": false,
          "description": "自定义内联样式",
          "docblock": "自定义内联样式",
          "properties": []
        },
        "headers": {
          "type": {
            "name": "object"
          },
          "required": false,
          "description": "可选参数，设置上传的请求头部",
          "docblock": "可选参数，设置上传的请求头部",
          "properties": []
        },
        "formatter": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，数据格式化函数，配合自定义 `action` 使用，参数为服务器的响应数据，详见 [formatter](#formatter)",
          "docblock": "可选参数，数据格式化函数，配合自定义 `action` 使用，参数为服务器的响应数据，详见 [formatter](#formatter)",
          "params": [],
          "returns": null
        },
        "data": {
          "type": {
            "name": "union",
            "value": [
              {
                "name": "object"
              },
              {
                "name": "func"
              }
            ]
          },
          "required": false,
          "description": "上传额外传参（如果使用 `fileserver` 上传，参数格式为 { scene: '场景名' }）",
          "docblock": "上传额外传参（如果使用 `fileserver` 上传，参数格式为 { scene: '场景名' }）"
        },
        "locale": {
          "type": {
            "name": "object"
          },
          "required": false,
          "description": "自定义语言包，会与默认提供的语言包做合并操作，请严格按照默认语言包的格式，参考 [demo](http://next.alibaba-inc.com/demo/pc/upload#react-Upload-2)",
          "docblock": "自定义语言包，会与默认提供的语言包做合并操作，请严格按照默认语言包的格式，参考 [demo](http://next.alibaba-inc.com/demo/pc/upload#react-Upload-2)",
          "properties": []
        },
        "preview": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否使用预览功能",
          "docblock": "是否使用预览功能"
        },
        "previewList": {
          "type": {
            "name": "array"
          },
          "required": false,
          "description": "预览展示列表，用来配置预览元素。目前仅支持 `80`、`60`、`40` 三种，例如，配置 `[80, 40]`，会展示 `80*80` 以及 `40*40` 两种尺寸",
          "docblock": "预览展示列表，用来配置预览元素。目前仅支持 `80`、`60`、`40` 三种，例如，配置 `[80, 40]`，会展示 `80*80` 以及 `40*40` 两种尺寸"
        },
        "popupClassName": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "裁剪弹层自定义类名",
          "docblock": "裁剪弹层自定义类名"
        },
        "aspectRatio": {
          "type": {
            "name": "number"
          },
          "required": false,
          "description": "裁剪比例，例如 `1 / 2` 表示 `宽 / 高`。**注意：1、设置了裁剪比例，而且值不等于 `1` 时，不能使用预览功能；2、设置成 'auto' 可以支持任意裁剪比例**",
          "docblock": "裁剪比例，例如 `1 / 2` 表示 `宽 / 高`。**注意：1、设置了裁剪比例，而且值不等于 `1` 时，不能使用预览功能；2、设置成 'auto' 可以支持任意裁剪比例**"
        },
        "viewMode": {
          "type": {
            "name": "number"
          },
          "required": false,
          "description": "可选参数，[定义裁剪框的模式](https://github.com/fengyuanchen/cropperjs#viewmode)",
          "docblock": "可选参数，[定义裁剪框的模式](https://github.com/fengyuanchen/cropperjs#viewmode)"
        },
        "autoCropArea": {
          "type": {
            "name": "number"
          },
          "required": false,
          "description": "可选参数，[定义自动裁剪区域的尺寸（百分比）](https://github.com/fengyuanchen/cropperjs#autocroparea)，介于 `0` 与 `1` 之间的值",
          "docblock": "可选参数，[定义自动裁剪区域的尺寸（百分比）](https://github.com/fengyuanchen/cropperjs#autocroparea)，介于 `0` 与 `1` 之间的值"
        },
        "zoomable": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "图片是否可以伸缩",
          "docblock": "图片是否可以伸缩"
        },
        "beforeCrop": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，选择文件后、唤起裁剪框前的钩子，参数为上传的文件。若返回 `false`、`Promise.reject()` 或者 `Promise.resolve(false)` 都会阻断后续流程，不会唤起裁剪框及后续动作",
          "docblock": "可选参数，选择文件后、唤起裁剪框前的钩子，参数为上传的文件。若返回 `false`、`Promise.reject()` 或者 `Promise.resolve(false)` 都会阻断后续流程，不会唤起裁剪框及后续动作",
          "params": [],
          "returns": null
        },
        "onCrop": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "完成裁剪并上传的回调函数，参数为裁剪后的文件的base64字符串数据",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "完成裁剪并上传的回调函数，参数为裁剪后的文件的base64字符串数据",
          "params": [],
          "returns": null
        },
        "onChange": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，裁剪文件改变时触发",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "可选参数，裁剪文件改变时触发",
          "params": [],
          "returns": null
        },
        "beforeUpload": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，点击裁剪之后、上传文件之前的钩子，参数为上传的文件，若返回 `false` 则停止上传",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "可选参数，点击裁剪之后、上传文件之前的钩子，参数为上传的文件，若返回 `false` 则停止上传",
          "params": [],
          "returns": null
        },
        "onSuccess": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "上传成功回调函数，`res` 为后台响应，`dataUrl` 为裁剪后的文件的base64字符串数据(注意与 `Upload` 的参数区别)",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "上传成功回调函数，`res` 为后台响应，`dataUrl` 为裁剪后的文件的base64字符串数据(注意与 `Upload` 的参数区别)",
          "params": [],
          "returns": null
        },
        "onError": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，上传失败回调函数，参数为上传失败的文件信息",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "可选参数，上传失败回调函数，参数为上传失败的文件信息",
          "params": [],
          "returns": null
        },
        "accept": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "图片类型",
          "defaultValue": {
            "value": "'image/png,image/jpg,image/jpeg,image/bmp,image/gif'",
            "computed": false
          },
          "docblock": "图片类型"
        }
      },
      "methods": [],
      "description": "IE10+ 支持",
      "order": 3
    },
    {
      "name": "Core",
      "props": {
        "style": {
          "type": {
            "name": "object"
          },
          "required": false,
          "description": "可选参数，自定义样式",
          "docblock": "可选参数，自定义样式",
          "properties": []
        },
        "action": {
          "type": {
            "name": "string"
          },
          "required": true,
          "description": "必选参数，上传的地址",
          "docblock": "必选参数，上传的地址"
        },
        "name": {
          "type": {
            "name": "string"
          },
          "required": true,
          "description": "可选参数，传递给服务器的文件参数",
          "defaultValue": {
            "value": "'file'",
            "computed": false
          },
          "docblock": "可选参数，传递给服务器的文件参数"
        },
        "disabled": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "可选参数，是否禁用上传功能",
          "docblock": "可选参数，是否禁用上传功能"
        },
        "multiple": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "可选参数，是否支持多选文件，`ie10+` 支持。开启后按住 ctrl 可选择多个文件",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "可选参数，是否支持多选文件，`ie10+` 支持。开启后按住 ctrl 可选择多个文件"
        },
        "dragable": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "可选参数，是否支持拖拽上传，`ie10+` 支持。",
          "docblock": "可选参数，是否支持拖拽上传，`ie10+` 支持。"
        },
        "accept": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "可选参数，接受上传的文件类型，详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)， [兼容性见](http://caniuse.com/#feat=input-file-accept)",
          "docblock": "可选参数，接受上传的文件类型，详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)， [兼容性见](http://caniuse.com/#feat=input-file-accept)"
        },
        "data": {
          "type": {
            "name": "union",
            "value": [
              {
                "name": "object"
              },
              {
                "name": "func"
              }
            ]
          },
          "required": false,
          "description": "上传额外传参",
          "docblock": "上传额外传参"
        },
        "headers": {
          "type": {
            "name": "object"
          },
          "required": false,
          "description": "可选参数，设置上传的请求头部",
          "docblock": "可选参数，设置上传的请求头部",
          "properties": []
        },
        "withCredentials": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "可选参数，是否允许请求携带 cookie",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "可选参数，是否允许请求携带 cookie"
        },
        "beforeUpload": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，上传文件之前的钩子，参数为上传的文件，若返回 `false` 则停止上传",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "可选参数，上传文件之前的钩子，参数为上传的文件，若返回 `false` 则停止上传",
          "params": [],
          "returns": null
        },
        "onStart": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，开始上传文件的钩子，参数为上传的文件。如果开启了 `multiple`，参数为文件列表",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "可选参数，开始上传文件的钩子，参数为上传的文件。如果开启了 `multiple`，参数为文件列表",
          "params": [],
          "returns": null
        },
        "onProgress": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，正在上传文件的钩子，参数为上传的事件以及文件",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "可选参数，正在上传文件的钩子，参数为上传的事件以及文件",
          "params": [],
          "returns": null
        },
        "onSuccess": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，上传成功回调函数，参数为请求下响应信息以及文件",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "可选参数，上传成功回调函数，参数为请求下响应信息以及文件",
          "params": [],
          "returns": null
        },
        "onError": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，上传失败回调函数，参数为上传失败的信息、响应信息以及文件",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "可选参数，上传失败回调函数，参数为上传失败的信息、响应信息以及文件",
          "params": [],
          "returns": null
        },
        "onAbort": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "可选参数，中断上传请求回调函数，参数为中断事件以及文件",
          "defaultValue": {
            "value": "() => {\n}",
            "computed": false
          },
          "docblock": "可选参数，中断上传请求回调函数，参数为中断事件以及文件",
          "params": [],
          "returns": null
        }
      },
      "methods": [
        {
          "name": "onChange",
          "docblock": "上传文件变化\n@param  {SyntheticEvent} e\n@return {void}",
          "modifiers": [],
          "params": [
            {
              "name": "e",
              "description": null,
              "type": {
                "name": "SyntheticEvent"
              }
            }
          ],
          "returns": {
            "description": null,
            "type": {
              "name": "void"
            }
          },
          "description": "上传文件变化"
        },
        {
          "name": "onClick",
          "docblock": "点击上传按钮\n@return {void}",
          "modifiers": [],
          "params": [],
          "returns": {
            "description": null,
            "type": {
              "name": "void"
            }
          },
          "description": "点击上传按钮"
        },
        {
          "name": "onKeyDown",
          "docblock": "键盘事件\n@param  {SyntheticEvent} e\n@return {void}",
          "modifiers": [],
          "params": [
            {
              "name": "e",
              "description": null,
              "type": {
                "name": "SyntheticEvent"
              }
            }
          ],
          "returns": {
            "description": null,
            "type": {
              "name": "void"
            }
          },
          "description": "键盘事件"
        },
        {
          "name": "onFileDrop",
          "docblock": "拖拽\n@param  {SyntheticEvent} e\n@return {void}",
          "modifiers": [],
          "params": [
            {
              "name": "e",
              "description": null,
              "type": {
                "name": "SyntheticEvent"
              }
            }
          ],
          "returns": {
            "description": null,
            "type": {
              "name": "void"
            }
          },
          "description": "拖拽"
        },
        {
          "name": "uploadFiles",
          "docblock": "上传文件列表\n@param  {File} files - 文件列表\n@return {void}",
          "modifiers": [],
          "params": [
            {
              "name": "files",
              "description": "文件列表",
              "type": {
                "name": "File"
              }
            }
          ],
          "returns": {
            "description": null,
            "type": {
              "name": "void"
            }
          },
          "description": "上传文件列表"
        },
        {
          "name": "upload",
          "docblock": "上传文件\n@param  {File} file - 文件\n@return {void}",
          "modifiers": [],
          "params": [
            {
              "name": "file",
              "description": "文件",
              "type": {
                "name": "File"
              }
            }
          ],
          "returns": {
            "description": null,
            "type": {
              "name": "void"
            }
          },
          "description": "上传文件"
        }
      ],
      "description": "为了开放基础上传能力，独立向外提供了 Core 模块。使用该模块可以实现基本的上传功能，跟业务 UI 分离，满足业务自定义 UI 的需求"
    },
    {
      "name": "List",
      "props": {
        "listType": {
          "type": {
            "name": "enum",
            "value": [
              {
                "value": "'text'",
                "computed": false
              },
              {
                "value": "'text-image'",
                "computed": false
              },
              {
                "value": "'picture-card'",
                "computed": false
              }
            ]
          },
          "required": false,
          "description": "文件列表，数据格式请参考 文件对象",
          "defaultValue": {
            "value": "'text'",
            "computed": false
          },
          "docblock": "文件列表，数据格式请参考 文件对象"
        },
        "fileList": {
          "type": {
            "name": "array"
          },
          "required": false,
          "description": "文件列表",
          "defaultValue": {
            "value": "[]",
            "computed": false
          },
          "docblock": "文件列表"
        },
        "cell": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "渲染",
          "docblock": "渲染\n@param {Object} value 该行数据\n@param {Number} idx   序列\n@return {Element} 自定义内容",
          "params": [
            {
              "name": "value",
              "description": "该行数据",
              "type": {
                "name": "Object"
              }
            },
            {
              "name": "idx",
              "description": "序列",
              "type": {
                "name": "Number"
              }
            }
          ],
          "returns": {
            "description": "自定义内容",
            "type": {
              "name": "Element"
            }
          }
        }
      },
      "methods": []
    }
  ]
}