Vue+UpLoad實(shí)現(xiàn)上傳預(yù)覽和刪除圖片的實(shí)踐
1、用vue+Element完成一個圖片上傳、點(diǎn)圖預(yù)覽、加刪除功能,如圖:
2.首先我們再組件中引入這一段代碼,每個屬性的使用也都放在這里了:
<el-upload class="upload-demo" action=""http://引號里面填要上傳的圖片地址,用接口的話是公共的接口地址拼接一個圖片的接口 :on-preview="handlePreview"http://圖片已經(jīng)上傳完成時點(diǎn)擊觸發(fā)(鉤子函數(shù)) :on-remove="handleRemove"http://點(diǎn)擊右上角X號觸發(fā)的鉤子函數(shù) :on-success="handleSuccess"http://上傳成功的一個鉤子函數(shù) :file-list="fileList"http://上傳的文件列表 list-type="picture"http://上傳的文件類型,有三個參數(shù),分別是text/picture/picture-card,分別是文本類型、圖片類型、卡片類型。個人推薦選第二個較好 :headers="headerObj"http://圖片上傳的時候需要請求頭部,我們可以定義一個變量,設(shè)置獲取token信息,如下代碼: > <el-button size="small" type="primary">點(diǎn)擊上傳</el-button> <div slot="tip" class="el-upload__tip">只能上傳jpg/png文件,且不超過500kb</div> </el-upload> //存放token的變量 headerObj: { Authorization: window.localStorage.getItem("token"), },
3.接下來就是它的on-preview屬性,我們可以用它來實(shí)現(xiàn)圖片預(yù)覽
先要設(shè)一個圖片預(yù)覽的彈框:
<el-dialog title="圖片預(yù)覽"http://上方的標(biāo)題 :visible.sync="previewDialogVisible"http://控制顯示隱藏的變量 width="50%"http://彈框的寬度占比 > //img標(biāo)簽中的src屬性接受的是點(diǎn)擊預(yù)覽時傳遞的圖片地址 <img :src="picPreviewPath" alt="" class="previewImg" /> </el-dialog>
再進(jìn)行邏輯操作
// 處理圖片預(yù)覽 handlePreview(file) {//會得到一個參數(shù),這是返回的圖片的一些信息,主要的是圖片的url this.picPreviewPath = file.response.data.url;//把url參數(shù)賦值給這個變量 this.previewDialogVisible = true;//再讓彈框顯示 },
3.然后來實(shí)現(xiàn)點(diǎn)擊刪除圖片,這時候用到了on-remove這個屬性
// 處理移除圖片的操作 handleRemove(file) { // 1.獲取將要刪除圖片的臨時路徑 const filePath = file.response.data.tmp_path; // 2.從pics數(shù)組中,找到圖片對應(yīng)的索引值 const i = this.addForm.pics.findIndex((x) => x.pic === filePath); // 3.調(diào)用splice方法,移除圖片信息 this.addForm.pics.splice(i, 1); },
4.前面的功能都實(shí)現(xiàn)了的話,到這時候你已經(jīng)成功了一半了,若項目需要提交添加的圖片,則用到了它的on-success屬性。
// 監(jiān)聽圖片上傳成功事件 handleSuccess(response) { // 1.拼接得到一個圖片信息對象 臨時路徑 const picInfo = { pic: response.data.tmp_path }; // 2.將圖片信息對象,push到pics數(shù)組中 this.addForm.pics.push(picInfo); },
5.文章小提示:
1.別忘了給需要設(shè)置成動態(tài)屬性的屬性加上v-bind
2.在data中注冊需要綁定的變量
到此這篇關(guān)于Vue+UpLoad實(shí)現(xiàn)上傳預(yù)覽和刪除圖片的文章就介紹到這了,更多相關(guān)Vue UpLoad 上傳預(yù)覽和刪除圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 解決vue2.0 element-ui中el-upload的before-upload方法返回false時submit()不生效問題
- Vue上傳組件vue Simple Uploader的用法示例
- vue2.0 使用element-ui里的upload組件實(shí)現(xiàn)圖片預(yù)覽效果方法
- vue element upload組件 file-list的動態(tài)綁定實(shí)現(xiàn)
- Vue2.0結(jié)合webuploader實(shí)現(xiàn)文件分片上傳功能
- vue-cli3.0+element-ui上傳組件el-upload的使用
- vue element upload實(shí)現(xiàn)圖片本地預(yù)覽
- vue使用el-upload上傳文件及Feign服務(wù)間傳遞文件的方法
- vue中element 的upload組件發(fā)送請求給后端操作
相關(guān)文章
Vue3?實(shí)現(xiàn)驗(yàn)證碼倒計時功能
這篇文章主要介紹了Vue3?實(shí)現(xiàn)驗(yàn)證碼倒計時功能,倒計時的運(yùn)用場景是獲取手機(jī)驗(yàn)證碼倒計時、獲取郵箱驗(yàn)證碼倒計時等場景,本文結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友可以參考下2023-01-01vue實(shí)現(xiàn)移動端彈出鍵盤功能(防止頁面fixed布局錯亂)
這篇文章主要介紹了vue?解決移動端彈出鍵盤導(dǎo)致頁面fixed布局錯亂的問題,通過實(shí)例代碼給大家分享解決方案,對vue?移動端彈出鍵盤相關(guān)知識感興趣的朋友一起看看吧2022-04-04vue實(shí)現(xiàn)的封裝全局filter并統(tǒng)一管理操作示例
這篇文章主要介紹了vue實(shí)現(xiàn)的封裝全局filter并統(tǒng)一管理操作,結(jié)合實(shí)例形式詳細(xì)分析了vue封裝全局filter及相關(guān)使用技巧,需要的朋友可以參考下2020-02-02vue簡單實(shí)現(xiàn)購物車結(jié)算功能
這篇文章主要為大家詳細(xì)介紹了vue簡單實(shí)現(xiàn)購物車結(jié)算功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04vue實(shí)現(xiàn)網(wǎng)頁語言國際化切換
這篇文章介紹了vue實(shí)現(xiàn)網(wǎng)頁語言國際化切換的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2021-11-11使用WebStorm運(yùn)行vue項目的詳細(xì)圖文教程
在WebStorm中怎么打開一個已有的項目,這個不用多說,那么如何運(yùn)行一個vue項目呢?下面這篇文章主要給大家介紹了關(guān)于使用WebStorm運(yùn)行vue項目的相關(guān)資料,需要的朋友可以參考下2023-02-02