81 lines
1.9 KiB
Vue
81 lines
1.9 KiB
Vue
![]() |
<docs>
|
|||
|
---
|
|||
|
order: 5
|
|||
|
title:
|
|||
|
zh-CN: 拖拽上传
|
|||
|
en-US: Drag and Drop
|
|||
|
---
|
|||
|
|
|||
|
## zh-CN
|
|||
|
|
|||
|
把文件拖入指定区域,完成上传,同样支持点击上传。
|
|||
|
|
|||
|
设置 `multiple` 后,在 `IE10+` 可以一次上传多个文件。
|
|||
|
|
|||
|
## en-US
|
|||
|
|
|||
|
You can drag files to a specific area, to upload. Alternatively, you can also upload by selecting.
|
|||
|
|
|||
|
We can upload serveral files at once in modern browsers by giving the input the `multiple` attribute.
|
|||
|
</docs>
|
|||
|
|
|||
|
<template>
|
|||
|
<a-upload-dragger
|
|||
|
v-model:fileList="fileList"
|
|||
|
name="file"
|
|||
|
:multiple="true"
|
|||
|
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
|
|||
|
@change="handleChange"
|
|||
|
>
|
|||
|
<p class="ant-upload-drag-icon">
|
|||
|
<inbox-outlined></inbox-outlined>
|
|||
|
</p>
|
|||
|
<p class="ant-upload-text">Click or drag file to this area to upload</p>
|
|||
|
<p class="ant-upload-hint">
|
|||
|
Support for a single or bulk upload. Strictly prohibit from uploading company data or other
|
|||
|
band files
|
|||
|
</p>
|
|||
|
</a-upload-dragger>
|
|||
|
</template>
|
|||
|
<script lang="ts">
|
|||
|
import { InboxOutlined } from '@ant-design/icons-vue';
|
|||
|
import { message } from 'ant-design-vue';
|
|||
|
import { defineComponent, ref } from 'vue';
|
|||
|
|
|||
|
interface FileItem {
|
|||
|
uid: string;
|
|||
|
name?: string;
|
|||
|
status?: string;
|
|||
|
response?: string;
|
|||
|
url?: string;
|
|||
|
}
|
|||
|
|
|||
|
interface FileInfo {
|
|||
|
file: FileItem;
|
|||
|
fileList: FileItem[];
|
|||
|
}
|
|||
|
|
|||
|
export default defineComponent({
|
|||
|
components: {
|
|||
|
InboxOutlined,
|
|||
|
},
|
|||
|
setup() {
|
|||
|
const handleChange = (info: FileInfo) => {
|
|||
|
const status = info.file.status;
|
|||
|
if (status !== 'uploading') {
|
|||
|
console.log(info.file, info.fileList);
|
|||
|
}
|
|||
|
if (status === 'done') {
|
|||
|
message.success(`${info.file.name} file uploaded successfully.`);
|
|||
|
} else if (status === 'error') {
|
|||
|
message.error(`${info.file.name} file upload failed.`);
|
|||
|
}
|
|||
|
};
|
|||
|
return {
|
|||
|
handleChange,
|
|||
|
fileList: ref([]),
|
|||
|
};
|
|||
|
},
|
|||
|
});
|
|||
|
</script>
|