# Upload 上传组件

### 介绍

上传组件（Vant Upload 组件的二次封装）；

### 引入

```js
import { Vue } from "vue";
import { Upload } from "@bingoit/mobile-ui";

Vue.use(Upload);
```

## 代码演示

### 基础用法

```html
<bgo-upload
    label="测试"
    v-model="testValue"
    required
    action="/api/form/upload"
/>
```

## API

### Props

| 名称                 | 说明                                           | 类型                | 可选值                 | 默认值                       |
| -------------------- | ---------------------------------------------- | ------------------- | ---------------------- | ---------------------------- |
| v-model              | 当前输入的值                                   | _string_ / _array_  | -                      |
| label                | 表单的标签文本                                 | _string_            | -                      | -                            |
| name                 | 上传的文件字段名                               | _string_            | -                      | `uploadFile`                 |
| action               | 必选参数，上传的地址                           | _string_            | -                      | -                            |
| accept               | 接受上传的文件类型                             | _string_            | -                      | -                            |
| multiple             | 是否支持多选文件                               | _boolean_           | `true` / `false`       | `false`                      |
| list-type            | 文件列表的类型                                 | _string_            | `text` / `picture`     | `text`                       |
| upload-tip-text      | 上传提示内容                                   | _string_            | -                      | -                            |
| limit                | 允许最大上传的文件个数                         | _number_            | -                      | -                            |
| max-size             | 单个文件允许最大上传的大小                     | _number_            | -                      | 2M                           |
| del-file-prompt-text | 删除文件时的提示内容                           | _string_            | -                      | 您确定要删除已上传的问题吗？ |
| args                 | 上传的额外参数                                 | _string_ / _object_ | -                      | -                            |
| is-trigger-created   | 创建组件时是否触发`created`事件                | _boolean_           | `true` / `false`       | `false`                      |
| required             | 是否显示表单必填星号                           | _boolean_           | `true` / `false`       | `false`                      |
| disabled             | 是否禁用                                       | _boolean_           | `true` / `false`       | `false`                      |
| readonly             | 是否只读                                       | _boolean_           | `true` / `false`       | `false`                      |
| hidden               | 是否隐藏                                       | _boolean_           | `true` / `false`       | `false`                      |
| capture              | 图片选取模式，可选值为 camera (直接调起摄像头) | _string_            | `camera`               | -                            |
| upload-icon          | 上传区域图标名称或图片链接                     | _string_            | -                      | `photograph`                 |
| auto-upload          | 是否自动上传                                   | _boolean_           | `true` / `false`       | `false`                      |
<!-- | file-list-mode       | 文件列表显示模式                               | _string_            | `detail` / `thumbnial` | `detail`                     | -->

### Events

| 事件              | 说明                                                                       | 回调参数                               |
| ----------------- | -------------------------------------------------------------------------- | -------------------------------------- |
| change            | 当绑定值变化时触发的事件                                                   | _value: string_ / _any[]_              |
| created           | 组件创建时触发的事件,注：`is-trigger-created`参数必须为 true，否则无法触发 | _obj: object_ (组件对象)               |
| on-upload-success | 上传成功后触发的事件                                                       | _value: object_ (上传成功时返回的数据) |
