elementui上傳圖片回顯功能實(shí)現(xiàn)
elementui上傳圖片回顯
<el-upload
class="avatar-uploader"
ref="otherLicense"
action
:auto-upload="false"
:on-preview="handlePicPreview"
:on-remove="handleRemove"
:file-list="form.fileList"
:limit="imgLimit"
:on-change="otherSectionFile"
list-type="picture-card"
multiple
>
<i class="el-icon-plus"></i>
</el-upload>
<!-- 上傳圖片放大 -->
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="" />
</el-dialog>data中
// 業(yè)務(wù)結(jié)束證明材料
let validateImage = (rule, value, callback) => {
// console.log(this.AddDateModel.fileId);
//驗(yàn)證器
if (this.AddDateModel.fileId.length <= 0) {
//為true代表圖片在 false報(bào)錯(cuò)
callback(new Error("請(qǐng)上傳業(yè)務(wù)結(jié)束證明材料"));
} else {
callback();
}
};
AddDateModel: {
fileId:[]
},
// 回顯圖片的路徑
photoList: [{ url: "" }],
// 放大圖片的路徑
dialogImageUrl: "",
// 上傳圖片放大彈出框
dialogVisible: false,
imgLimit: 9, //最多可上傳幾張圖片
AddDateRules: {
fileId: [
{ required: true, validator: validateImage, trigger: "blur" },
],
},methods中
handlePicPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
// 業(yè)務(wù)申請(qǐng)材料
handleRemove(file, fileList) {
this.AddDateModel.fileId.map((item, index) => {
if (item.uid == file.uid) {
this.AddDateModel.fileId.splice(index, 1);
}
});
},
otherSectionFile(file) {
const typeArr = ["image/png", "image/gif", "image/jpeg", "image/jpg"];
const isJPG = typeArr.indexOf(file.raw.type) !== -1;
const isLt20M = file.size / 1024 / 1024 < 20;
if (!isJPG) {
this.$message.error("只能是圖片!");
this.$refs.upload.clearFiles();
this.otherFiles = null;
return;
}
if (!isLt20M) {
this.$message.error("上傳圖片大小不能超過(guò) 20MB!");
this.$refs.upload.clearFiles();
this.otherFiles = null;
return;
}
this.otherFiles = file.raw;
// FormData 對(duì)象
var formData = new FormData();
// 文件對(duì)象
formData.append("file", this.otherFiles);
formData.append("filePath", "yuanchengyiliao");
let config = {
headers: {
"Content-Type": "multipart/form-data",
},
methods: "post",
};
// 調(diào)取接口 上傳參數(shù)
this.$axios.hosUpload(formData, config).then((res) => {
// console.log(file)
let result = res.data.data;
let arr = [];
for (let i = 0; i < result.length; i++) {
// console.log(result[i])
arr.push(result[i].pictureId);
}
file.pictureId = arr.join("||");
this.AddDateModel.fileId.push(file);
// console.log(this.AddDateModel.fileId);
});
},顯示數(shù)據(jù)的方法中
async bussEdit(row) {
//調(diào)取接口然后把數(shù)據(jù)傳到photoList中,我只上傳一張圖片,就直接寫(xiě),上傳多張的,循環(huán)就好了。
this.photoList[0].url = 圖片路徑;
},
// 回顯
fileCoList: [], //圖片回顯
if (row.fileId) {
// console.log(row.fileId)
let imgss = [];
let imgLen = row.fileId.split(",");
for (let i = 0; i < imgLen.length; i++) {
imgss.push(imgLen[i]);
}
// console.log(imgss.join(','))
this.$nextTick(() => {
this.$refs.addinmanfill.getFile(imgss.join(","));
});
} else {
this.$nextTick(() => {
this.$refs.addinmanfill.getFile('');
});
}
watch: {
fileCoList: {
deep: true,
handler() {
if (this.fileCoList) {
this.AddDateModel.fileId = this.fileCoList;
}
},
},
},
async getFile(ids) {
let idsdata = _qs.stringify({
ids: ids,
});
let res = await this.$axios.sysgetFile(idsdata);
// console.log(res.data.data);
let result = res.data.data;
result.map((item) => {
// console.log(item)
item.url = this.GLOBAL.BASE_URL + item.url;
item.pictureId = item.id;
});
// console.log(result)
this.fileCoList = result;
},到此這篇關(guān)于elementui上傳圖片 回顯的文章就介紹到這了,更多相關(guān)elementui上傳圖片 回顯內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- elementUI使用el-upload上傳文件寫(xiě)法及避坑總結(jié)(上傳圖片/視頻到本地/服務(wù)器及回顯+刪除)
- 解決ElementUI組件中el-upload上傳圖片不顯示問(wèn)題
- vue中使用elementUI組件手動(dòng)上傳圖片功能
- vue+elementUI的select下拉框回顯為數(shù)字問(wèn)題
- vue+elementUI下拉框回顯問(wèn)題及解決方式
- VUE使用ElementUI下拉框 @change事件數(shù)據(jù)不回顯問(wèn)題
- vue?ElementUI級(jí)聯(lián)選擇器回顯問(wèn)題解決
- Vue+elementUI實(shí)現(xiàn)多圖片上傳與回顯功能(含回顯后繼續(xù)上傳或刪除)
相關(guān)文章
IE 下Enter提交表單存在重復(fù)提交問(wèn)題的解決方法
這篇文章主要介紹了IE 下Enter提交表單存在重復(fù)提交問(wèn)題的解決方法,需要的朋友可以參考下2014-05-05
使用JavaScript獲取Request中參數(shù)的值方法
下面小編就為大家?guī)?lái)一篇使用JavaScript獲取Request中參數(shù)的值方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
JavaScript程序設(shè)計(jì)高級(jí)算法之動(dòng)態(tài)規(guī)劃實(shí)例分析
這篇文章主要介紹了JavaScript程序設(shè)計(jì)高級(jí)算法之動(dòng)態(tài)規(guī)劃,結(jié)合實(shí)例形式分析了javascript動(dòng)態(tài)規(guī)劃算法的原理、實(shí)現(xiàn)技巧與相關(guān)使用注意事項(xiàng),需要的朋友可以參考下2017-11-11
JavaScript中字符串、數(shù)組和對(duì)象截取數(shù)據(jù)方法總結(jié)大全
這篇文章主要介紹了JavaScript中字符串、數(shù)組和對(duì)象截取數(shù)據(jù)方法的相關(guān)資料,需要的朋友可以參考下2025-05-05
JS+CSS實(shí)現(xiàn)炫酷算盤(pán)時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript和CSS實(shí)現(xiàn)炫酷算盤(pán)時(shí)鐘效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
javascript權(quán)威指南 學(xué)習(xí)筆記之變量作用域分享
最近一直在看《javascript權(quán)威指南 第五版》,變量作用域這一章,看得真的有點(diǎn)累。不過(guò),收獲還是多多。2011-09-09
js HTML5多圖片上傳及預(yù)覽實(shí)例解析(不含前端的文件分割)
這篇文章主要詳細(xì)解析了js HTML5多圖片上傳及預(yù)覽實(shí)例,不含前端的文件分割,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
基于JavaScript實(shí)現(xiàn)動(dòng)態(tài)添加刪除表格的行
又一個(gè)動(dòng)態(tài)控制表格的效果,用JavaScript動(dòng)態(tài)生成表格行、表格列,以及還可動(dòng)態(tài)刪除這些行列,行等,運(yùn)行代碼后,點(diǎn)擊對(duì)應(yīng)的功能按鈕,即可實(shí)現(xiàn)對(duì)應(yīng)的表格操作功能,接下來(lái)通過(guò)代碼實(shí)例給大家介紹JavaScript實(shí)現(xiàn)動(dòng)態(tài)添加刪除表格的行,需要的朋友參考下2016-02-02

