66 lines
1.4 KiB
Vue
66 lines
1.4 KiB
Vue
<docs>
|
||
---
|
||
order: 0
|
||
title:
|
||
zh-CN: 点击上传
|
||
en-US: Upload by clicking
|
||
---
|
||
|
||
## zh-CN
|
||
|
||
经典款式,用户点击按钮弹出文件选择框。
|
||
|
||
## en-US
|
||
|
||
Classic mode. File selection dialog pops up when upload button is clicked.
|
||
</docs>
|
||
|
||
<template>
|
||
<a-upload
|
||
v-model:file-list="fileList"
|
||
name="file"
|
||
:multiple="true"
|
||
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
|
||
:headers="headers"
|
||
@change="handleChange"
|
||
>
|
||
<a-button>
|
||
<upload-outlined></upload-outlined>
|
||
Click to Upload
|
||
</a-button>
|
||
</a-upload>
|
||
</template>
|
||
<script lang="ts">
|
||
import { message } from 'ant-design-vue';
|
||
import { UploadOutlined } from '@ant-design/icons-vue';
|
||
import { defineComponent, ref } from 'vue';
|
||
import type { UploadChangeParam } from 'ant-design-vue';
|
||
|
||
export default defineComponent({
|
||
components: {
|
||
UploadOutlined,
|
||
},
|
||
setup() {
|
||
const handleChange = (info: UploadChangeParam) => {
|
||
if (info.file.status !== 'uploading') {
|
||
console.log(info.file, info.fileList);
|
||
}
|
||
if (info.file.status === 'done') {
|
||
message.success(`${info.file.name} file uploaded successfully`);
|
||
} else if (info.file.status === 'error') {
|
||
message.error(`${info.file.name} file upload failed.`);
|
||
}
|
||
};
|
||
|
||
const fileList = ref([]);
|
||
return {
|
||
fileList,
|
||
headers: {
|
||
authorization: 'authorization-text',
|
||
},
|
||
handleChange,
|
||
};
|
||
},
|
||
});
|
||
</script>
|