Merge pull request #206 from cshaptx4869/patch-106
refactor(Upload): ♻️ 单图片支持点击预览
This commit is contained in:
@@ -12,13 +12,22 @@
|
|||||||
:on-error="onError"
|
:on-error="onError"
|
||||||
>
|
>
|
||||||
<template #default>
|
<template #default>
|
||||||
<el-image v-if="modelValue" :src="modelValue" />
|
<template v-if="modelValue">
|
||||||
<el-icon v-if="modelValue" class="single-upload__delete-btn" @click.stop="handleDelete">
|
<el-image
|
||||||
<CircleCloseFilled />
|
class="single-upload__image"
|
||||||
</el-icon>
|
:src="modelValue"
|
||||||
<el-icon v-else class="single-upload__add-btn">
|
:preview-src-list="[modelValue]"
|
||||||
<Plus />
|
@click.stop="handlePreview"
|
||||||
</el-icon>
|
/>
|
||||||
|
<el-icon class="single-upload__delete-btn" @click.stop="handleDelete">
|
||||||
|
<CircleCloseFilled />
|
||||||
|
</el-icon>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<el-icon>
|
||||||
|
<Plus />
|
||||||
|
</el-icon>
|
||||||
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</template>
|
</template>
|
||||||
@@ -138,6 +147,13 @@ function handleUpload(options: UploadRequestOptions) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预览图片
|
||||||
|
*/
|
||||||
|
function handlePreview() {
|
||||||
|
console.log("预览图片,停止冒泡");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除图片
|
* 删除图片
|
||||||
*/
|
*/
|
||||||
@@ -166,21 +182,14 @@ const onError = (error: any) => {
|
|||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
:deep(.el-upload--picture-card) {
|
:deep(.el-upload--picture-card) {
|
||||||
width: v-bind("props.style.width");
|
position: relative;
|
||||||
height: v-bind("props.style.height");
|
width: v-bind("props.style.width ?? '150px'");
|
||||||
|
height: v-bind("props.style.height ?? '150px'");
|
||||||
}
|
}
|
||||||
|
|
||||||
.single-upload {
|
.single-upload {
|
||||||
position: relative;
|
&__image {
|
||||||
width: v-bind("props.style.width");
|
border-radius: 6px;
|
||||||
height: v-bind("props.style.height");
|
|
||||||
overflow: hidden;
|
|
||||||
cursor: pointer;
|
|
||||||
border: 1px var(--el-border-color) solid;
|
|
||||||
border-radius: 5px;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
border-color: var(--el-color-primary);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&__delete-btn {
|
&__delete-btn {
|
||||||
|
|||||||
Reference in New Issue
Block a user