解讀element?el-upload上傳的附件名稱不顯示?file-list賦值
element el-upload上傳的附件名稱不顯示 file-list賦值
問題
上傳附件后 文件名字不顯示

解決
1、首先看file-list 是否在data中定義

2、如果定義了,文件名字還是不顯示,在獲取數據之后,把文件名字push到fileList中去,給name值賦值就可以顯示了。
this.fileList.push({
name: '',
url:''
});
el-upload上傳附件-總結
提示:小編今天介紹一下 用FormData 結合 el-upload 實現上傳文件
提示:以下是本篇文章正文內容,下面案例可供參考
FormData是什么?
傳統(tǒng)的文件上傳方式是提交form表單,今天使用了 formdata 所以想好好研究一下
FormData 接口提供了一種表示表單數據的鍵值對 key/value 的構造方式,
并且可以輕松的將數據通過XMLHttpRequest.send() 方法發(fā)送出去,
本接口和此方法都相當簡單直接。如果送出時的編碼類型被設為 “multipart/form-data”,它會使用和表單一樣的格式。
提到了 “可以輕松的將數據通過XMLHttpRequest.send() 方法發(fā)送出去” 那不是ajax嗎
那么我們就用ajax來實現文件上傳吧?。?/p>
使用FormData.append()添加屬性
使用步驟
使用 Element-ui 中的el-upload 最終實現
通過 slot 你可以傳入自定義的上傳按鈕類型和文字提示??赏ㄟ^設置limit和on-exceed來限制上傳文件的個數和定義超出限制時的行為。可通過設置before-remove來阻止文件移除操作。
讀入數據
代碼如下(示例):
<el-upload
style="width: 579px"
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:http-request="http_request" // 上傳
:on-preview="handlePreview"
:before-remove="beforeRemove" // 刪除
multiple
:on-exceed="handleExceed" // 限制
:file-list="fileList" // 生成
>
<el-button size="small" class="button2" style="150px;"
>點擊上傳</el-button
>
<!-- <div slot="tip" class="el-upload__tip">只能上傳jpg/png文件,且不超過500kb</div> -->
</el-upload>點擊http_request 這里結合使用 FormaData
?var formData = new FormData();
? ? ? formData.append("file", params.file);
? ? ? formData.append("fileName", params.file.name);
? ? ? formData.append("tenantId", sessionStorage.getItem("id"));接著把formadata 作為Ajax 的參數 提交 即可
? this.ajax= ({
?? ??? ? url: '請求地址',
? ? ? ? ?data: formData,
? ? ? ? ?method: 'post',
? ? ? ? ?headers: {?
? ? ? ? ? "Content-Type": "application/json",
? ? ? ? ? Accept: "application/json",
? ? ? ? ? "X-Auth-Token": sessionStorage.getItem("token"),
? ? ? ? ?}
})
?.then(() => {?
?? ?調用方法一半情況是調用查詢附件詳情接口(詳情的方法查詢到的數據賦值到:file-list 中即可 )
})刪除附件:
? ? beforeRemove(file, fileList) {
? ? ? ?if (file && file.status === "success") {
? ? ? ? this.$confirm("您確定要刪除嗎?", "提示", {
? ? ? ? ? confirmButtonText: "確定",
? ? ? ? ? cancelButtonText: "取消",
? ? ? ? ? confirmButtonClass: "butText",
? ? ? ? ? type: "warning",
? ? ? ? ? center: true
? ? ? ? })
? ? ? ? ? .then(() => {
? ? ? ? ? ? ? this.$axios({
? ? ? ? ? ? ? ? method: "post",
? ? ? ? ? ? ? ? url:
? ? ? ? ? ? ? ? headers: {
? ? ? ? ? ? ? ? ? "Content-Type": "application/json",
? ? ? ? ? ? ? ? ? Accept: "application/json",
? ? ? ? ? ? ? ? ? "X-Auth-Token": sessionStorage.getItem("token"),
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? })
? ? ? ? ? ? ? .then(res => {
? ? ? ? ? ? ? ? // console.log(res);
? ? ? ? ? ? ? ? this.query_attachment();
? ? ? ? ??
? ? ? ? ? ? ? ? ? this.$message({
? ? ? ? ? ? ? ? ? ? type: "success",
? ? ? ? ? ? ? ? ? ? message: "刪除成功!"
? ? ? ? ? ? ? ? ? });
? ? ? ?
? ? ? ? ? ? ? })
? ? ? ? ? ? ? .catch(err => {
? ? ? ? ? ? ? ? console.log(err);
? ? ? ? ? ? ? });
? ? ? ? ? })
? ? ? ? ? .catch(() => {
? ? ? ? ? ? this.query_attachment();
? ? ? ? ? ? this.$message({
? ? ? ? ? ? ? type: "info",
? ? ? ? ? ? ? message: "已取消刪除"
? ? ? ? ? ? })
? ? ? ? ??
? ? ? ? ? });
? ? ? }
? ? },以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
webpack + vue 打包生成公共配置文件(域名) 方便動態(tài)修改
這篇文章主要介紹了webpack + vue 打包生成公共配置文件(域名) 方便動態(tài)修改,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08

