解決ElementUI組件中el-upload上傳圖片不顯示問(wèn)題
ElementUI組件中el-upload上傳圖片不顯示
上傳圖片的方法有很多,我們可以通過(guò)input上傳的功能來(lái)上傳文件、文件夾。同時(shí),我們也可以通過(guò)使用ElementUI中的el-upload標(biāo)簽來(lái)上傳圖片、視頻。當(dāng)我們使用el-upload來(lái)上傳時(shí)往往出現(xiàn)上傳的圖片并不能顯示的問(wèn)題,如下圖:
此時(shí),從圖中可以看出圖片已經(jīng)上傳,但是并不顯示圖片,又或者出現(xiàn)下圖情況,剛上傳圖片時(shí),可以顯示,但是不久就出現(xiàn)下圖情況,甚至圖片又消失不見(jiàn),真是令人頭大!
那么,遇到這種問(wèn)題的小可愛(ài)們,看過(guò)來(lái)啦!我們可以直接在before-upload事件中添加
this.imageUrl = URL.createObjectURL(file);
其中 imageUrl是圖片的路徑,這樣就可以解決圖排尿顯示的問(wèn)題。
直接上代碼:
<template> <div class="dashboard-container"> <div class="dashboard-text">name: Upload 上傳</div> <el-upload class="avatar-uploader" action="#" :show-file-list="false" :before-upload="beforeAvatarUpload"> <img v-if="imageUrl" :src="imageUrl" class="avatar"> <i v-else class="el-icon-plus avatar-uploader-icon"></i> </el-upload> </div> </template>
<script> export default { data() { return { imageUrl: '' } }, methods: { beforeAvatarUpload(file) { console.log(file) // 使圖片顯示 this.imageUrl = URL.createObjectURL(file); return false } } } </script>
<style> .avatar-uploader .el-upload { border: 1px dashed #d9d9d9; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; } .avatar-uploader .el-upload:hover { border-color: #409EFF; } .avatar-uploader-icon { font-size: 28px; color: #8c939d; width: 178px; height: 178px; line-height: 178px; text-align: center; } .avatar { width: 178px; height: 178px; display: block; } </style>
當(dāng)然我們?cè)趯?duì)接后臺(tái)接口時(shí),action屬性要設(shè)置為 # ,如上圖。
此外我們上傳時(shí)還會(huì)發(fā)現(xiàn),該標(biāo)簽會(huì)走一遍本地的接口,如下圖:
所以我們要在before-upload事件中添加 return false 去阻止!下面我們看解決以后的效果:
圖片可以正常顯示!
element的上傳圖片后不顯示照片的功能(原el-upload的修改)
默認(rèn)的el-upload會(huì)上傳后,顯示照片;
修改功能:上傳照片后,如果不符合要求,則給出提示且保持原來(lái)的照片(即不上傳新照片)
html代碼:
<el-upload action="#" accept="image/jpeg, image/jpg" ref="upload" :limit="1" :file-list.sync="fileList" :http-request="httpRequest" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload" :on-remove="removeFile"> <el-button type="success" @click="handleBtnUpload()">上傳</el-button> </el-upload>
有一個(gè)http-request方法,在這個(gè)方法中判斷照片是否符合要求,如果符合,給handleAvatarSuccess這個(gè)上傳成功事件傳輸一個(gè)新圖片的url展示即可;
否則,將原照片的url賦值即可
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在VUE中實(shí)現(xiàn)文件下載并判斷狀態(tài)的方法
今天小編就為大家分享一篇在VUE中實(shí)現(xiàn)文件下載并判斷狀態(tài)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Vue項(xiàng)目請(qǐng)求超時(shí)處理方式
這篇文章主要介紹了Vue項(xiàng)目請(qǐng)求超時(shí)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12vue 解決移動(dòng)端彈出鍵盤(pán)導(dǎo)致頁(yè)面fixed布局錯(cuò)亂的問(wèn)題
今天小編就為大家分享一篇vue 解決移動(dòng)端彈出鍵盤(pán)導(dǎo)致頁(yè)面fixed布局錯(cuò)亂的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Vue?element?ui用戶(hù)展示頁(yè)面的實(shí)例
這篇文章主要介紹了Vue?element?ui用戶(hù)展示頁(yè)面的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Vue實(shí)現(xiàn)導(dǎo)出excel表格功能
這篇文章主要介紹了Vue實(shí)現(xiàn)導(dǎo)出excel表格的功能,在文章末尾給大家提到了vue中excel表格的導(dǎo)入和導(dǎo)出代碼,需要的朋友可以參考下2018-03-03VUE3基礎(chǔ)學(xué)習(xí)之click事件詳解
由于vue是一個(gè)雙向數(shù)據(jù)綁定的框架,它的點(diǎn)擊事件與以前常用的還是有很大的差別的,下面這篇文章主要給大家介紹了關(guān)于VUE3基礎(chǔ)學(xué)習(xí)之click事件的相關(guān)資料,需要的朋友可以參考下2022-01-01