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

Vue-element-admin?導(dǎo)出json和導(dǎo)入json文件的方法

 更新時間:2023年06月25日 15:11:42   作者:ogenes  
這篇文章主要介紹了Vue-element-admin導(dǎo)出json和導(dǎo)入json文件,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

應(yīng)用場景:

有一個菜單管理的功能,主要用來跟管理后臺的菜單對應(yīng),方便后臺菜單權(quán)限控制。 每次新加功能菜單都需要開發(fā)人員在后臺手動輸入,在測試環(huán)境操作完待發(fā)布時又要到生產(chǎn)環(huán)境操作一遍,非常繁瑣。

為了簡化操作流程,計劃做一個導(dǎo)出再導(dǎo)入的功能,基于適用人群和數(shù)據(jù)特征,覺得json文件比較適合。 開發(fā)人員只需要在配置一次,發(fā)布時從測試環(huán)境導(dǎo)出json文件,再導(dǎo)入到生成即可。

image-20230425143731100

安裝file-saver

?  permission git:(feature/init) npm install file-saver --save

或者直接在 package.json 中添加

"file-saver": "^2.0.5",

導(dǎo)出

onclick: (item) => {
  this.exportMenu(item)
},
  ………………
		exportMenu(row) {
      const filename = row?.menuName || 'unknown';
      const data = JSON.stringify(this.generalExportData(row));//格式化導(dǎo)出的數(shù)據(jù),轉(zhuǎn)成JSON字符串
      const blob = new Blob([data], { type: '' });
      FileSaver.saveAs(blob, filename +'.json');
    },
      //遞歸格式化,用來處理要導(dǎo)出的json對象
    generalExportData(item) {
      const menu = {
        parent: item.parent,
        type: item.type,
        name: item.name,
        title: item.title,
        icon: item.icon,
        path: item.path
      }
      if (item.children) {
        menu.children = [];
        item.children.forEach(child => {
          menu.children.push(this.generalExportData(child))
        })
      }
      return menu;
    },

image-20230425144032736

導(dǎo)入

    <el-upload
        v-permission="['MenuAdd']"
        :limit="1"
        action="https://jsonplaceholder.typicode.com/posts/"
        ref="upload"
        accept=".json"
        :file-list="fileList"
        :show-file-list="false"
        :on-change="importMenu"
      >
        <el-button
          v-loading="uploadLoading"
          v-no-more-click
          class="el-icon-upload"
          type="primary"
        >
          {{ $trans_btn('import') }}
        </el-button>
      </el-upload>	
		importMenu(file) {
      let reader = new FileReader();
      reader.readAsText(file.raw);
      reader.onload = (e) => {
        this.uploadLoading = true;
        const menu = JSON.parse(e.target.result);//轉(zhuǎn)成JSON對象
        //提交給后端處理
        importMenu({systemId: this.systemId, menu: menu}).then((res) => {
          if (res.code > 0) {
            this.$message.error(res.msg)
          } else {
            this.$message.success(this.$trans('msg.success'));
            this.saveSuccess();//處理成功要重新渲染列表
          }
          this.uploadLoading = false
        }).catch((e) => {
          console.log(e);
          this.uploadLoading = false
        });
      };
    },

到此這篇關(guān)于Vue-element-admin 導(dǎo)出json和導(dǎo)入json文件的文章就介紹到這了,更多相關(guān)Vue-element-admin 導(dǎo)出json內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ant-design-vue按鈕樣式擴(kuò)展方法詳解

    ant-design-vue按鈕樣式擴(kuò)展方法詳解

    這篇文章主要為大家介紹了ant-design-vue按鈕樣式擴(kuò)展方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • vue上傳圖片到oss的方法示例(圖片帶有刪除功能)

    vue上傳圖片到oss的方法示例(圖片帶有刪除功能)

    這篇文章主要介紹了vue上傳圖片到oss的方法示例(圖片帶有刪除功能),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Vue自定義圖片懶加載指令v-lazyload詳解

    Vue自定義圖片懶加載指令v-lazyload詳解

    這篇文章主要為大家詳細(xì)介紹了Vue自定義圖片懶加載指令v-lazyload,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Vuex與Vue router的使用詳細(xì)講解

    Vuex與Vue router的使用詳細(xì)講解

    在看這篇文章的幾點要求:需要你先知道Vuex與Vue-Router是個什么東西,用來解決什么問題,以及它的基本使用。如果你還不懂的話,建議上官網(wǎng)了解下Vuex與Vue-Router的基本使用后再回來看這篇文章
    2022-11-11
  • Vue實現(xiàn)Tab標(biāo)簽路由效果并用Animate.css做轉(zhuǎn)場動畫效果的代碼

    Vue實現(xiàn)Tab標(biāo)簽路由效果并用Animate.css做轉(zhuǎn)場動畫效果的代碼

    這篇文章主要介紹了Vue實現(xiàn)Tab標(biāo)簽路由效果,并用Animate.css做轉(zhuǎn)場動畫效果,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • vue關(guān)于data變量定義的問題

    vue關(guān)于data變量定義的問題

    這篇文章主要介紹了vue關(guān)于data變量定義的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解vue 在移動端體驗上的優(yōu)化解決方案

    詳解vue 在移動端體驗上的優(yōu)化解決方案

    這篇文章主要介紹了vue 在移動端體驗上的優(yōu)化解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • vue表單數(shù)據(jù)交互提交演示教程

    vue表單數(shù)據(jù)交互提交演示教程

    今天小編就為大家分享一篇vue表單數(shù)據(jù)交互提交演示教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue項目動態(tài)設(shè)置iframe元素高度的操作代碼

    vue項目動態(tài)設(shè)置iframe元素高度的操作代碼

    在現(xiàn)代Web開發(fā)中,iframe元素常用于嵌入外部內(nèi)容到當(dāng)前網(wǎng)頁中,比如在線文檔、視頻播放器或是廣告,Vue框架提供了強大的工具來解決這個問題,通過動態(tài)設(shè)置iframe元素的高度,我們可以確保頁面布局既美觀又高效,本文給大家介紹了vue項目動態(tài)設(shè)置iframe元素高度的操作
    2024-10-10
  • vue使用cesium創(chuàng)建數(shù)據(jù)白模方式

    vue使用cesium創(chuàng)建數(shù)據(jù)白模方式

    這篇文章主要介紹了vue使用cesium創(chuàng)建數(shù)據(jù)白模方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10

最新評論