使用el-upload满足详情页面只展示图片

需求:详情页面只展示图片+鼠标移入时可放大,不要上传等其他功能
原本效果图:
在这里插入图片描述

想要的效果图(去掉删除按钮+右侧上传框,变为):
在这里插入图片描述

1、 结构代码中设置 disabled为true
代码如下:

<el-upload
 v-model:file-list="fileList"
  action="#"
  list-type="picture-card"
  :on-preview="dialogObj.openDialog"
  :disabled="true" //设置为true
  class="applet_upload"
>
  <el-icon><Plus /></el-icon>
</el-upload>

2、根据设置的类名 applet_upload控制样式
代码如下:

<style lang="scss" >
 .页面类名{
    .applet_upload .el-upload--picture-card{
      display: none !important;
    }
    .el-upload-list__item.is-success .el-upload-list__item-status-label{
      display:none;
    }
 }
</style> 
### 解决 `el-upload` 组件上传文件后自动刷新页面的问题 为了防止 `el-upload` 组件在文件上传完成后导致页面自动刷新,在配置该组件时需要注意几个关键点。首先,确保表单提交行为会触发默认的页面重载机制。 #### 使用自定义指令或事件处理程序阻止默认行为 如果使用的是带有 `<form>` 的 HTML 结构来包裹 `el-upload` 或者其他形式的提交按钮,可以通过 JavaScript 来拦截并取消默认的行为: ```javascript document.querySelector('form').addEventListener('submit', function(event){ event.preventDefault(); // 阻止表单提交引起的页面跳转/刷新 }); ``` 对于 VueElement UI 特定的情况,则可以利用框架特性更优雅地解决问题[^1]。 #### 修改 `el-upload` 属性设置 调整 `el- **action**: 设置有效的服务器端接收地址; - **auto-upload**: 控制是否立即开始上传,默认为 true;设为 false 可以手动控制何时启动上传过程; - **on-preview**, **on-remove**, **on-success**, **on-error** 等回调方法:用于监听同阶段的状态变化,并作出相应响应而影响整体流程; 另外一个重要参数是 `list-type="picture"` 或 `"text"` 这样的展示样式设定影响功能实现,但有助于用户体验优化[^2]。 #### 利用 `before-upload` 方法进行预处理 通过定义 `before-upload` 函数可以在实际发送请求之前做额外的操作,比如验证文件大小、类型等。此方法返回 Promise 对象或者布尔值(true/false),只有当其成功解析为真时才会继续执行后续操作。因此,合理运用这一钩子能够有效预防因符合条件而可能引发的异常情况,间接减少了意外刷新的风险。 ```html <template> <div class="upload-demo"> <el-upload :before-upload="handleBeforeUpload" action="#" list-type="picture"> <!-- 更多配置项 --> </el-upload> </div> </template> <script setup lang="ts"> import { ref } from 'vue'; const handleBeforeUpload = (file: File): boolean | void => { const isJPG = file.type === 'image/jpeg'; const isLt2M = file.size / 1024 / 1024 < 2; if (!isJPG) { ElMessage.error('仅支持 JPG 格式的图片!'); } if (!isLt2M) { ElMessage.error('图片大小得超过 2MB!'); } return isJPG && isLt2M; }; </script> ``` 上述代码片段展示了如何结合 TypeScript 编写一个简单的前置校验逻辑,它会检查所选文件是是 JPEG 图片以及尺寸有没有超过限定范围。如果满足这些条件则给出提示信息并且停止进一步的动作,从而达到保护应用稳定性的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值