vue3 elementUI el-upload自定义上传文件,不使用action属性

可以通过el-upload这个组件中的http-request钩子函数来实现

vue3 elementUI el-upload自定义上传文件,不使用action属性_第1张图片

效果图

vue3 elementUI el-upload自定义上传文件,不使用action属性_第2张图片

具体代码

<template>
  <el-upload v-model:file-list="fileList" class="upload-demo" action="" :on-preview="handlePreview"
    :on-remove="handleRemove" list-type="picture"  :on-change="handleChange" :http-request="handleUpload">
    <el-button type="primary">点击上传</el-button>
    <template #tip>
      <div class="el-upload__tip">
        jpg/png files with a size less than 500kb
      </div>
    </template>
  </el-upload>
</template>

<script lang="ts" setup>
import { ref } from 'vue'

import type { UploadProps, UploadUserFile } from 'element-plus'

const fileList = ref<UploadUserFile[]>([
  {
    name: 'food.jpeg',
    url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
  },
  {
    name: 'food2.jpeg',
    url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
  },
])

const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
  console.log(uploadFile, uploadFiles)
}

const handlePreview: UploadProps['onPreview'] = (file) => {
  console.log(file)
}
const handleChange = (file, fileLists) => {
  console.log(file, 'filefilefilefilefile')
}
// 可以获取图片参数
const handleUpload = (file: any) => {
  console.log(file, 'filefilefilefilefile')
}

</script>

你可能感兴趣的:(elementui,javascript,vue.js)