最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue element upload組件 file-list的動態(tài)綁定實現(xiàn)

 更新時間:2019年10月11日 14:08:23   作者:weixin_shun  
這篇文章主要介紹了vue element upload組件 file-list的動態(tài)綁定實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文解決,upload組件 file-list的動態(tài)綁定list1,list2 ...,實現(xiàn)動態(tài)添加,相信很多電商后臺管理系統(tǒng)都會遇到這個需求,例子如下

本例,我是使用的upload默認的上傳地址(很多圖片不能上傳,你可以在本地截幾張圖片,進行測試),我可以上傳多張活動圖片,可以加相應(yīng)的,名稱,鏈接描述等,如果有多個活動,可以點擊添加活動,在第二個活動又能添加相應(yīng)的內(nèi)容,保存完之后,可以實現(xiàn)回顯,活動詳情頁可以看到添加的幾個活動和相應(yīng)的活動內(nèi)容。

實現(xiàn)方法不為一,這是一種特別簡單的。代碼如下

<template>
 <div class="view">
  <div class="item" v-for="(item,index) in formList" :key="index">
   <div style="font-size: 14px; color: #606266;line-height: 40px;">相關(guān)圖片資料</div>
   <el-upload
    action="https://jsonplaceholder.typicode.com/posts/"
    list-type="picture-card"
    :on-preview="handlePictureCardPreview"
    :on-remove="(file, fileList)=>{return handleRemove(file, fileList, index)}"
    :limit="5"
    :on-exceed="onExceed"
    :file-list="item.pics"
    :on-success="(response, file, fileList)=>{return onSuccess(response, file, fileList, index)}"
   >
    <i class="el-icon-plus"></i>
   </el-upload>
   <el-dialog :visible.sync="dialogVisible">
    <img width="100%" :src="dialogImageUrl" alt />
   </el-dialog>
   <el-form label-position="top" label-width="80px" :model="item">
    <el-row :gutter="20">
     <el-col :span="12">
      <el-form-item label="活動名稱">
       <el-input v-model="item.name"></el-input>
      </el-form-item>
     </el-col>
     <el-col :span="12">
      <el-form-item label="活動鏈接">
       <el-input v-model="item.content"></el-input>
      </el-form-item>
     </el-col>
    </el-row>
   </el-form>
   <el-button type="danger" @click="delItem(index)" style="margin-bottom:20px">刪除</el-button>
  </div>
  <el-button type="success" @click="addItem" style="width:1000px">添加活動</el-button>
  <el-button type="primary" @click="saveItem" style="margin-top:20px;margin-left:0;">保存活動</el-button>
 </div>
</template>
 
<script>
export default {
 name: "HelloWorld",
 data() {
  return {
   dialogImageUrl: "",
   dialogVisible: false,
   formList: [{ pics: [] }]
  };
 },
 methods: {
  // 上傳圖片
  onSuccess(response, file, fileList, idx) {
   // 這里是element的上傳地址,對應(yīng)的name,url,自己打印fileList對照
   this.formList[idx].pics.push({ name: file.name, url: file.url });
  },
  // 移除圖片
  handleRemove(file, fileList, idx) {
   let Pics = this.formList[idx].pics;
   Pics.forEach((item, index) => {
    if (file.name == item.name) {
     Pics.splice(index, 1);
    }
   });
  },
  // 查看圖片
  handlePictureCardPreview(file) {
   this.dialogImageUrl = file.url;
   this.dialogVisible = true;
  },
  onExceed(file, fileList) {
   this.$message({
    type: "warning",
    message: "最多上傳5張"
   });
  },
  // 添加活動
  addItem() {
   this.formList.push({ pics: [] });
  },
  // 刪除活動
  delItem(idx) {
   if (this.formList.length > 1) {
    this.formList.splice(idx, 1);
   } else this.formList = [{ pics: [] }];
  },
  // 保存活動
  saveItem() {
   this.$message({
    type: "success",
    message: "保存成功,可以刷新下試試回顯效果"
   });
   console.log(this.formList);
   localStorage.setItem("formList", JSON.stringify(this.formList));
  }
 },
 created() {
  this.formList = JSON.parse(localStorage.getItem("formList"))|| [
   { pics: [] }
  ];;
 }
};
</script>
 
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.view {
 width: 1000px;
 margin: 0 auto;
}
.item {
 width: 100%;
}
</style>

主要實現(xiàn),動態(tài)添加多個item,每個item都有對應(yīng)的多張圖文和介紹,可以刪除,保存,下次進來可以回顯繼續(xù)編輯,詳情展示頁可以展示

github地址,可以clone下來,本地跑一下看看

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 15 分鐘掌握vue-next響應(yīng)式原理

    15 分鐘掌握vue-next響應(yīng)式原理

    這篇文章主要介紹了15 分鐘掌握vue-next響應(yīng)式原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Vue瀏覽器鏈接與接口參數(shù)實現(xiàn)加密過程詳解

    Vue瀏覽器鏈接與接口參數(shù)實現(xiàn)加密過程詳解

    這篇文章主要介紹了Vue瀏覽器鏈接與接口參數(shù)實現(xiàn)加密過程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • vue中SPA單頁面應(yīng)用程序詳解

    vue中SPA單頁面應(yīng)用程序詳解

    這篇文章主要為大家詳細介紹了vue中SPA單頁面應(yīng)用程序的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • vue后臺返回base64圖片無法顯示的解決

    vue后臺返回base64圖片無法顯示的解決

    這篇文章主要介紹了vue后臺返回base64圖片無法顯示的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 解決vue-router進行build無法正常顯示路由頁面的問題

    解決vue-router進行build無法正常顯示路由頁面的問題

    下面小編就為大家分享一篇解決vue-router進行build無法正常顯示路由頁面的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • select的change方法傳遞多個參數(shù)的方法詳解

    select的change方法傳遞多個參數(shù)的方法詳解

    element-ui中的select,checkbox等組件的change方法的回調(diào)函數(shù)只有當(dāng)前選擇的val,如果想再傳入自定義參數(shù)怎么辦,本文給大家分享select的change方法如何傳遞多個參數(shù),感興趣的朋友一起看看吧
    2024-02-02
  • Vue通知提醒框(Notification)圖文詳解

    Vue通知提醒框(Notification)圖文詳解

    最近有個項目需求就是在客戶端的右上角要實時展示提醒消息,下面這篇文章主要給大家介紹了關(guān)于Vue通知提醒框(Notification)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • 淺析Vue3中通過v-model實現(xiàn)父子組件的雙向數(shù)據(jù)綁定及利用computed簡化父子組件雙向綁定

    淺析Vue3中通過v-model實現(xiàn)父子組件的雙向數(shù)據(jù)綁定及利用computed簡化父子組件雙向綁定

    這篇文章主要介紹了淺析Vue3中通過v-model實現(xiàn)父子組件的雙向數(shù)據(jù)綁定及利用computed簡化父子組件雙向綁定,需要的朋友可以參考下
    2022-12-12
  • vue 指定組件緩存實例詳解

    vue 指定組件緩存實例詳解

    keep-alive 是 Vue 內(nèi)置的一個組件,可以使被包含的組件保留狀態(tài),或避免重新渲染。這篇文章主要介紹了vue 指定組件緩存,需要的朋友可以參考下
    2018-04-04
  • vue中使用localstorage來存儲頁面信息

    vue中使用localstorage來存儲頁面信息

    這篇文章主要介紹了vue中使用localstorage來存儲頁面信息,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論

济阳县| 宁化县| 柳州市| 读书| 托克逊县| 湘西| 兴化市| 左权县| 北流市| 丁青县| 两当县| 车致| 宜兰市| 宜川县| 民县| 通榆县| 遵义市| 临海市| 含山县| 临江市| 嘉鱼县| 中超| 社旗县| 岢岚县| 黎川县| 周至县| 海城市| 鹤峰县| 志丹县| 邯郸县| 公主岭市| 莒南县| 全州县| 屏南县| 宁乡县| 扎兰屯市| 兰州市| 玛多县| 攀枝花市| 日喀则市| 常宁市|