vue 项目中使用element ui组件el-upload调起后端接口上传失败仍然回显的问题

 错误视图:

 解决方法:

需要把上传的文件删除掉

在组件定义ref为“refName”

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用 Element UIUpload 组件上传图片,然后在 Select 组件选择已上传的图片。具体步骤如下: 1. 引入 Element UIVue.js: ```html <!-- 引入 Element UI 样式 --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> <!-- 引入 Vue.js --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <!-- 引入 Element UI 组件库 --> <script src="https://unpkg.com/element-ui/lib/index.js"></script> ``` 2. 创建一个 Vue 实例,并在模板添加 Select 组件Upload 组件: ```html <div id="app"> <el-select v-model="imageUrl" placeholder="请选择图片"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <img :src="item.value" alt="" style="width: 50px; height: 50px;"> </el-option> </el-select> <el-upload class="upload-demo" action="/upload" :on-success="handleSuccess" :show-file-list="false" :before-upload="beforeUpload"> <el-button size="small" type="primary">点击上传</el-button> </el-upload> </div> ``` 3. 在 Vue 实例定义数据和方法: ```js new Vue({ el: '#app', data() { return { options: [], // Select 组件的选项 imageUrl: '' // Select 组件的图片地址 } }, methods: { // 上传成功后将图片地址添加到 Select 组件的选项 handleSuccess(response, file, fileList) { this.options.push({ label: file.name, value: response.url }) }, // 上传前校验文件类型和大小 beforeUpload(file) { const isJPG = file.type === 'image/jpeg' const isPNG = file.type === 'image/png' const isLt2M = file.size / 1024 / 1024 < 2 if (!(isJPG || isPNG)) { this.$message.error('上传图片只能是 JPG 或 PNG 格式!') } if (!isLt2M) { this.$message.error('上传图片大小不能超过 2MB!') } return isJPG || isPNG && isLt2M } } }) ``` 4. 在 handleSuccess 方法上传成功的图片地址添加到 Select 组件的选项,然后在模板使用 img 标签显示图片即可。 这样就实现了使用 Select 组件选择已上传的图片并在 Select 框回显图片的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值