1
This commit is contained in:
@@ -91,6 +91,15 @@ function onCoverChange(file, fileList) {
|
||||
if (coverFile.value) coverDeleted.value = false
|
||||
}
|
||||
|
||||
// 已有一张封面时仍选择新文件(如相册多选触发 on-exceed):替换为最后一张,保持单张语义
|
||||
function onCoverExceed(files) {
|
||||
const last = files[files.length - 1]
|
||||
coverFileList.value = [{ name: last.name, raw: last, url: URL.createObjectURL(last), status: 'ready' }]
|
||||
coverFile.value = last
|
||||
coverDeleted.value = false
|
||||
ElMessage.info('封面仅支持一张,已替换为最后选择的图片')
|
||||
}
|
||||
|
||||
// 删除项:删服务端已有封面(无 raw)→ 标记待删除;删新选文件且列表清空 → 同样按删除处理(服务端旧封面仍在)
|
||||
function onCoverRemove(file) {
|
||||
coverFile.value = null
|
||||
@@ -336,8 +345,10 @@ onBeforeUnmount(() => {
|
||||
:auto-upload="false"
|
||||
accept=".jpg,.jpeg,.png"
|
||||
list-type="picture-card"
|
||||
:limit="1"
|
||||
:on-change="onCoverChange"
|
||||
:on-remove="onCoverRemove"
|
||||
:on-exceed="onCoverExceed"
|
||||
>
|
||||
<div v-if="coverFileList.length === 0" class="upload-tile">
|
||||
<el-icon :size="22"><Plus /></el-icon>
|
||||
|
||||
Reference in New Issue
Block a user