Files
vue3-element-admin/src/views/demo/upload.vue
Theo 859116f576 refactor: ♻️ 增加测试图片地址
增加测试图片地址
2025-01-15 17:42:22 +08:00

227 lines
5.3 KiB
Vue

<!-- 文件上传组件示例 -->
<template>
<div class="app-container">
<el-link
href="https://gitee.com/youlaiorg/vue3-element-admin/blob/master/src/views/demo/upload.vue"
type="primary"
target="_blank"
class="mb-10"
>
示例源码 请点击>>>>
</el-link>
<el-form>
<el-form-item label="绑定值">
{{ picUrl }}
</el-form-item>
<el-form-item label="图片上传">
<ImageUpload v-model="picUrl" :maxSize="10" />
</el-form-item>
<el-form-item label="参数说明">
<el-table :data="imageUploadArgData" border>
<el-table-column prop="argsName" label="参数名称" width="300" />
<el-table-column prop="type" label="参数类型" width="200" />
<el-table-column prop="default" label="默认值" width="400" />
<el-table-column prop="desc" label="描述" width="300" />
</el-table>
</el-form-item>
<el-form-item label="文件上传">
<FileUpload v-model="fileUrls" />
</el-form-item>
<el-form-item label="参数说明">
<el-table :data="fileUploadArgData" border>
<el-table-column prop="argsName" label="参数名称" width="300" />
<el-table-column prop="type" label="参数类型" width="200" />
<el-table-column prop="default" label="默认值" width="400" />
<el-table-column prop="desc" label="描述" width="300" />
</el-table>
</el-form-item>
</el-form>
</div>
</template>
<script setup lang="ts">
// 单图
const picUrl = ref("https://s2.loli.net/2023/05/24/yNsxFC8rLHMZQcK.jpg");
const imageUploadArgData = [
{
argsName: "v-model",
type: "[Array,String]",
default: "[] | ''",
desc: "已经上传的图片数组,单张图片时为String",
},
{
argsName: "action",
type: "String",
default: "FileAPI.uploadUrl",
desc: "文件上传地址",
},
{
argsName: "headers",
type: "Object",
default: "{Authorization: localStorage.getItem(TOKEN_KEY),}",
desc: "上传请求头",
},
{
argsName: "data",
type: "Object",
default: "{}",
desc: "请求携带的额外参数",
},
{
argsName: "name",
type: "String",
default: "file",
desc: "上传文件的参数名",
},
{
argsName: "limit",
type: "Number",
default: 1,
desc: "上传最大的图片数量,多张图片时填写最大上传数量,默认单张图片",
},
{
argsName: "show-del-btn",
type: "Boolean",
default: true,
desc: "是否显示删除按钮",
},
{
argsName: "show-upload-btn",
type: "Boolean",
default: true,
desc: "是否显示上传按钮",
},
{
argsName: "max-size",
type: "Number",
default: "10",
desc: "单个图片上传大小限制(单位MB)",
},
{
argsName: "accept",
type: "String",
default: "image/*",
desc: "上传文件类型",
},
{
argsName: "supportFileType",
type: "Array",
default: "[]",
desc: "支持的文件类型,默认支持所有图片格式,eg:['png','jpg','jpeg','gif']",
},
{
argsName: "isSyncDelete",
type: "Boolean",
default: "true",
desc: "是否同步删除服务端文件(默认是,如果为否,则只会删除当前上传的图片,已经上传到服务端到图片不会删除)",
},
{
argsName: "style",
type: "Object",
default: "{width: '130px',height: '130px'}",
desc: "上传组件的样式",
},
];
const fileUrls = ref([
{
name: "file one.jpg",
url: "https://s2.loli.net/2023/05/24/yNsxFC8rLHMZQcK.jpg",
},
{
name: "file two.jpg",
url: "https://s2.loli.net/2023/05/24/RuHFMwW4rG5lIqs.jpg",
},
]);
const fileUploadArgData = [
{
argsName: "v-model",
type: "Arrays",
default: "[]",
desc: "已经上传的文件数组",
},
{
argsName: "action",
type: "String",
default: "FileAPI.uploadUrl",
desc: "文件上传地址",
},
{
argsName: "limit",
type: "Number",
default: 10,
desc: "上传最大的文件数量",
},
{
argsName: "show-del-btn",
type: "Boolean",
default: true,
desc: "是否显示删除按钮",
},
{
argsName: "show-upload-btn",
type: "Boolean",
default: true,
desc: "是否显示上传按钮",
},
{
argsName: "max-size",
type: "Number",
default: "10",
desc: "单个文件上传大小限制(单位MB)",
},
{
argsName: "accept",
type: "String",
default: "*",
desc: "上传文件类型",
},
{
argsName: "upload-btn-text",
type: "String",
default: "上传文件",
desc: "上传按钮文本",
},
{
argsName: "show-tip",
type: "Boolean",
default: false,
desc: "是否显示提示",
},
{
argsName: "tip",
type: "String",
default: '""',
desc: "提示文本",
},
{
argsName: "headers",
type: "Object",
default: "{Authorization: localStorage.getItem(TOKEN_KEY),}",
desc: "提示文本类型",
},
{
argsName: "data",
type: "Object",
default: "{}",
desc: "请求携带的额外参数",
},
{
argsName: "name",
type: "String",
default: "file",
desc: "上传文件的参数名",
},
{
argsName: "style",
type: "Object",
default: "{width:'300px'}",
desc: "上传组件的样式",
},
];
</script>