1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <template>
- <el-upload
- ref="upload"
- class="upload-demo"
- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
- :limit="1"
- :on-exceed="handleExceed"
- :auto-upload="false"
- >
- <template #trigger>
- <el-button type="primary">select file</el-button>
- </template>
- <el-button class="ml-3" type="success" @click="submitUpload">
- upload to server
- </el-button>
- <template #tip>
- <div class="el-upload__tip text-red">
- limit 1 file, new file will cover the old file
- </div>
- </template>
- </el-upload>
- </template>
- <script setup lang="ts">
- import { ref } from 'vue'
- import { genFileId } from 'element-plus'
- import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus'
- const upload = ref<UploadInstance>()
- const handleExceed: UploadProps['onExceed'] = (files) => {
- upload.value!.clearFiles()
- const file = files[0] as UploadRawFile
- file.uid = genFileId()
- upload.value!.handleStart(file)
- }
- const submitUpload = () => {
- upload.value!.submit()
- }
- </script>
|