78 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.5 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';
 | ||
| 
 | ||
| interface FileItem {
 | ||
|   uid: string;
 | ||
|   name?: string;
 | ||
|   status?: string;
 | ||
|   response?: string;
 | ||
|   url?: string;
 | ||
| }
 | ||
| 
 | ||
| interface FileInfo {
 | ||
|   file: FileItem;
 | ||
|   fileList: FileItem[];
 | ||
| }
 | ||
| 
 | ||
| export default defineComponent({
 | ||
|   components: {
 | ||
|     UploadOutlined,
 | ||
|   },
 | ||
|   setup() {
 | ||
|     const handleChange = (info: FileInfo) => {
 | ||
|       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>
 |