element-plus/docs/examples/upload/photo-wall.vue
云游君 93ee392932
fix(components): [upload] photo-wall wrap (#6546)
* fix(components): upload photo-wall wrap

* refactor(components): upload conent with props by tsx

* fix: type generate for upload sfc tsx

* Revert "fix: type generate for upload sfc tsx"

This reverts commit beeb9fb1642a875278ab9bf92f8ae4b7ae971013.

* Revert "refactor(components): upload conent with props by tsx"

This reverts commit 425e4a9f34693d9828bc8cf2e5ef2d75c5037864.

* fix: upload content type by as any

* refactor: extract uploadContentProps to object

* refactor(components): upload use tamplate instead of h

* Update packages/components/upload/src/upload.vue

Co-authored-by: JeremyWuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com>

* refactor(components): remove useless key in upload-content

* refactor(components): fix type

Co-authored-by: JeremyWuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com>
2022-03-12 16:57:48 +08:00

68 lines
1.8 KiB
Vue

<template>
<el-upload
action="https://jsonplaceholder.typicode.com/posts/"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:file-list="fileList"
>
<el-icon><Plus /></el-icon>
</el-upload>
<el-dialog v-model="dialogVisible">
<img style="width: 100%" :src="dialogImageUrl" alt="" />
</el-dialog>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { Plus } from '@element-plus/icons-vue'
import type { UploadFile, 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: '/images/guide.png',
},
{
name: 'food.jpeg',
url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
},
{
name: 'food2.jpeg',
url: '/images/guide.png',
},
{
name: 'food.jpeg',
url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
},
{
name: 'food2.jpeg',
url: '/images/guide.png',
},
{
name: 'food.jpeg',
url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
},
{
name: 'food2.jpeg',
url: '/images/guide.png',
},
])
const dialogImageUrl = ref('')
const dialogVisible = ref(false)
const handleRemove = (file: UploadFile, fileList: UploadFile[]) => {
console.log(file, fileList)
}
const handlePictureCardPreview = (file: UploadFile) => {
dialogImageUrl.value = file.url!
dialogVisible.value = true
}
</script>