file-list-with-thumbnail.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <template>
  2. <el-upload
  3. v-model:file-list="fileList"
  4. class="upload-demo"
  5. action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
  6. :on-preview="handlePreview"
  7. :on-remove="handleRemove"
  8. list-type="picture"
  9. >
  10. <el-button type="primary">Click to upload</el-button>
  11. <template #tip>
  12. <div class="el-upload__tip">jpg/png files with a size less than 500kb</div>
  13. </template>
  14. </el-upload>
  15. </template>
  16. <script lang="ts" setup>
  17. import { ref } from 'vue'
  18. import type { UploadProps, UploadUserFile } from 'element-plus'
  19. const fileList = ref<UploadUserFile[]>([
  20. {
  21. name: 'food.jpeg',
  22. url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
  23. },
  24. {
  25. name: 'food2.jpeg',
  26. url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
  27. },
  28. ])
  29. const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
  30. console.log(uploadFile, uploadFiles)
  31. }
  32. const handlePreview: UploadProps['onPreview'] = file => {
  33. console.log(file)
  34. }
  35. </script>