欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

組件中多個el-upload存在導(dǎo)致上傳圖片失效的問題及解決

 更新時間:2023年03月28日 09:58:51   作者:鬧鬧的鬧鐘  
這篇文章主要介紹了組件中多個el-upload存在導(dǎo)致上傳圖片失效的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

組件中多個el-upload存在導(dǎo)致上傳圖片失效

情景介紹

公司中開發(fā)的后臺系統(tǒng)使用的是vue + Avue + elm組件,在打開新增的彈窗的后彈窗內(nèi)有一個點(diǎn)擊新增配置按鈕會自動生成一行表格的功能,在生成的表格中有一列是上傳圖片的功能,由于配置詳情這個字段下的表格是手動生成的,導(dǎo)致二次上傳表格內(nèi)的封面圖的時候會出現(xiàn)上傳沒任何反應(yīng)的情況

百度了很久也沒找到解決辦法,最后經(jīng)過一步一步的嘗試發(fā)現(xiàn)elm組件在頁面首次渲染只會初始化一次的情況。

功能圖片

嘗試的解決辦法 

方法1 

在el-upload上動態(tài)綁定ref,這樣在每次上傳成功后我都通過獲取對應(yīng)的ref調(diào)用上傳組件的clearFiles()進(jìn)行文件清空操作,這樣方便二/N次上傳仍然是生效的;

<avue-crud :option="configOption" :data="formData.configDetails">
   <template slot="coverImg" slot-scope="scope">
      <el-upload
         class="avatar-uploader"
         accept="image/*"
         :http-request="(param) => uploadImage(param, scope.row)"
         action="~~"
         :limit="1"
         :ref="'coverPicUpload' + scope.row.$index"
         :show-file-list="false"
         :before-upload="beforeUpload"
       >
         <el-image
            style="width: 300px; height: 150px"
            fit="contain"
            v-if="scope.row.picUrl"
            :src="scope.row.picUrl"
         >
         </el-image>
         <i v-else class="el-icon-plus avatar-uploader-icon"></i>
       </el-upload>
       <div style="color:red;">圖片格式: jpg/gif  圖片尺寸: 1920X1080</div>
   </template>
  </avue-crud>
    //上傳封面圖片
    uploadImage(param, row) {
      
      ....執(zhí)行上傳的方法,上傳成功后執(zhí)行下行代碼
      this.$refs['coverPicUpload'+row.$index].clearFiles()
    },

方法1的結(jié)果: 

并沒有解決我的問題,仍然只有彈窗首次打開初始化的那一行的上傳在多次點(diǎn)擊的時候能正常使用,手動添加的幾行只有第一次上傳能正常,二次點(diǎn)擊就沒有反應(yīng);

方法2

在1的基礎(chǔ)上,同時對el-upload進(jìn)行初始化,也就是在el-upload組件的任意上級元素上添加 v-if="updateInit",在每次手動新增一行的時候會讓所有的el-upload進(jìn)行初始化,這樣每一行都會有自己的上傳組件;

<el-form-item v-if="updateInit" label="配置詳情:" prop="configDetails">
  <avue-crud :option="configOption" :data="formData.configDetails">
   <template slot="coverImg" slot-scope="scope">
      <el-upload
         class="avatar-uploader"
         accept="image/*"
         :http-request="(param) => uploadImage(param, scope.row)"
         action="~~"
         :limit="1"
         :ref="'coverPicUpload' + scope.row.$index"
         :show-file-list="false"
         :before-upload="beforeUpload"
       >
         <el-image
            style="width: 300px; height: 150px"
            fit="contain"
            v-if="scope.row.picUrl"
            :src="scope.row.picUrl"
         >
         </el-image>
         <i v-else class="el-icon-plus avatar-uploader-icon"></i>
       </el-upload>
       <div style="color:red;">圖片格式: jpg/gif  圖片尺寸: 1920X1080</div>
   </template>
  </avue-crud>
</el-form-item>
    // 新增配置
    addConfig() {
      this.updateInit = false
      
      this.formData.configDetails.push({
        title: "",
        picKey: "",
        picUrl: "",
      });
      this.$nextTick(() => {
        this.updateInit = true
      })
    },

方法2結(jié)果:完美解決多次上傳失效問題! 

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Vuex解決Vue中的身份驗(yàn)證問題

    使用Vuex解決Vue中的身份驗(yàn)證問題

    這篇文章主要介紹了使用Vuex解決Vue中的身份驗(yàn)證問題,本文通過文字實(shí)例相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-09-09
  • vue使用localStorage保存登錄信息 適用于移動端、PC端

    vue使用localStorage保存登錄信息 適用于移動端、PC端

    這篇文章主要為大家詳細(xì)介紹了vue使用localStorage保存登錄信息 適用于移動端、PC端,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • React和Vue實(shí)現(xiàn)路由懶加載的示例代碼

    React和Vue實(shí)現(xiàn)路由懶加載的示例代碼

    路由懶加載是一項(xiàng)關(guān)鍵技術(shù),它可以幫助我們提高Web應(yīng)用的加載速度,本文主要介紹了React和Vue實(shí)現(xiàn)路由懶加載的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 詳解vue中v-for的key唯一性

    詳解vue中v-for的key唯一性

    在for循環(huán)中生成的元素要加key屬性不僅是在Vue框架中是要添加的,在React框架中也是要添加的。但\其實(shí)都不是必須的,因?yàn)樵?Vue和React中不加key是不會報錯的,只是會有警告。但是我們在深入了解加key的原因后會明白,若想確保沒有隱患的話,元素還是必須要加key屬性。
    2021-05-05
  • vue對枚舉值轉(zhuǎn)換方式

    vue對枚舉值轉(zhuǎn)換方式

    這篇文章主要介紹了vue對枚舉值轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue如何在自定義組件中使用v-model

    vue如何在自定義組件中使用v-model

    本篇文章主要介紹了vue如何在自定義組件中使用v-model,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue動態(tài)組件實(shí)現(xiàn)選項(xiàng)卡切換效果

    vue動態(tài)組件實(shí)現(xiàn)選項(xiàng)卡切換效果

    這篇文章主要為大家詳細(xì)介紹了vue動態(tài)組件實(shí)現(xiàn)選項(xiàng)卡切換效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • vue 實(shí)現(xiàn)復(fù)制內(nèi)容到粘貼板clipboard的方法

    vue 實(shí)現(xiàn)復(fù)制內(nèi)容到粘貼板clipboard的方法

    下面小編就為大家分享一篇vue 實(shí)現(xiàn)復(fù)制內(nèi)容到粘貼板clipboard的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue-cli 引入、配置axios的方法

    vue-cli 引入、配置axios的方法

    這篇文章主要介紹了vue-cli 引入axios的方法,文中還給大家提到了vue-cli 配置axios的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • 使用vue開發(fā)移動端管理后臺的注意事項(xiàng)

    使用vue開發(fā)移動端管理后臺的注意事項(xiàng)

    這篇文章主要介紹了使用vue開發(fā)移動端管理后臺的注意事項(xiàng),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03

最新評論