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

vue-json-editor json編輯器的使用

 更新時間:2022年07月22日 11:41:08   作者:短暫又燦爛的  
本文主要介紹了vue-json-editor json編輯器的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、概述

現(xiàn)有一個vue項目,需要一個json編輯器,能夠格式化json數(shù)據(jù),同時也支持編輯功能。

vue-json-editor 插件就可以實現(xiàn)這個功能

二、vue-json-editor 使用

安裝插件

npm install vue-json-editor --save

使用

test.vue

<template>
  <div style="width: 70%;margin-left: 30px;margin-top: 30px;">
    <vue-json-editor
      v-model="resultInfo"
      :showBtns="false"
      :mode="'code'"
     
      @json-change="onJsonChange"
      @json-save="onJsonSave"
      @has-error="onError"
    />
    <br>
    <el-button type="primary" @click="checkJson">確定</el-button>
  </div>
</template>
 
<script>
  // 導(dǎo)入模塊
  import vueJsonEditor from 'vue-json-editor'
 
  export default {
    // 注冊組件
    components: { vueJsonEditor },
    data() {
      return {
        hasJsonFlag:true,  // json是否驗證通過
        // json數(shù)據(jù)
        resultInfo: {
          'employees': [
            {
            'firstName': 'Bill',
            'lastName': 'Gates'
            },
            {
              'firstName': 'George',
              'lastName': 'Bush'
            },
            {
              'firstName': 'Thomas',
              'lastName': 'Carter'
            }
          ]
        }
      }
    },
    mounted: function() {
    },
    methods: {
      onJsonChange (value) {
        // console.log('更改value:', value);
        // 實時保存
        this.onJsonSave(value)
      },
      onJsonSave (value) {
        // console.log('保存value:', value);
        this.resultInfo = value
        this.hasJsonFlag = true
      },
      onError(value) {
        // console.log("json錯誤了value:", value);
        this.hasJsonFlag = false
      },
      // 檢查json
      checkJson(){
        if (this.hasJsonFlag == false){
          // console.log("json驗證失敗")
          // this.$message.error("json驗證失敗")
          alert("json驗證失敗")
          return false
        } else {
          // console.log("json驗證成功")
          // this.$message.success("json驗證成功")
          alert("json驗證成功")
          return true
        }
      },
    }
  }
</script>
 
<style>
</style>

插件參數(shù)說明:

<vue-json-editor
      v-model="resultInfo"  // 綁定數(shù)據(jù)resultInfo
      :showBtns="false"  // 是否顯示保存按鈕
      :mode="'code'"  // 默認(rèn)編輯模式
       // 顯示中文,默認(rèn)英文
      @json-change="onJsonChange"  // 數(shù)據(jù)改變事件
      @json-save="onJsonSave"  // 數(shù)據(jù)保存事件
      @has-error="onError"  // 數(shù)據(jù)錯誤事件
    />

相關(guān)說明:

resultInfo  默認(rèn)綁定的變量,這個變量可以為空,編輯器會顯示為{}

:showBtns 這里不顯示保存按鈕,為什么呢?原因有2個。1. 默認(rèn)樣式不好看。2. 只能當(dāng)json數(shù)據(jù)正確,才能點擊保存按鈕,否則禁止點擊。

json-change,json-save,has-error 這3個事件,是會實時觸發(fā)的。

這里我額外加了一個檢測方法,用來判斷json數(shù)據(jù)是否正確。默認(rèn)標(biāo)記為true,當(dāng)不正確時,會改變狀態(tài)為false。

訪問

點擊確定,提示成功

 改為錯誤的,點擊確定,會提示失敗。

注意:這個json編輯會帶有下來菜單,實際項目中,需要去除,比較用戶誤操作。

在實際使用中發(fā)現(xiàn)幾個問題:

1. 輸入中文時,傳給后端的值不多

2. 輸入大量json時,會有部分?jǐn)?shù)據(jù)丟失。

因此,我們使用下面的編輯器bin-code-editor 

三、bin-code-editor

安裝模塊

npm install bin-code-editor -d

引入

在 main.js 中寫入2行

import CodeEditor from 'bin-code-editor';
Vue.use(CodeEditor);

test.vue

<template>
  <div style="width: 70%;margin-left: 30px;margin-top: 30px;">
    <b-code-editor v-model="jsonStr" :auto-format="true" :smart-indent="true" theme="dracula" :indent-unit="4" :line-wrap="false" ref="editor"></b-code-editor>
    <br>
    <el-button type="primary" @click="onSubumit">提交</el-button>
  </div>
</template>
 
<script>
  const jsonData =`{
    "employees": [{
      "firstName": "Bill",
      "lastName": "Gates"
    }, {
      "firstName": "George",
      "lastName": "Bush"
    }, {
      "firstName": "Thomas",
      "lastName": "Carter"
    }]
  }`
  export default {
    data() {
      return {
        jsonStr:jsonData
      }
    },
    methods: {
      // 檢測json格式
      isJSON(str) {
        if (typeof str == 'string') {
          try {
            var obj=JSON.parse(str);
            if(typeof obj == 'object' && obj ){
              return true;
            }else{
              return false;
            }
 
          } catch(e) {
            return false;
          }
        }else if (typeof str == 'object'  && str) {
          return true;
        }
      },
      onSubumit(){
        if (!this.isJSON(this.jsonStr)){
          this.$message.error(`json格式錯誤`)
          return false
        }
        this.$message.success('json格式正確')
      }
    }
  }
</script>
 
<style>
 
</style>

訪問測試頁面,效果如下:

輸入錯誤的值,點擊執(zhí)行,會有提示

到此這篇關(guān)于vue-json-editor json編輯器的使用的文章就介紹到這了,更多相關(guān)vue  json編輯器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue 1.x 交互實現(xiàn)仿百度下拉列表示例

    vue 1.x 交互實現(xiàn)仿百度下拉列表示例

    本篇文章主要介紹了vue 1.x 交互實現(xiàn)仿百度下拉列表示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue中使用element ui的彈窗與echarts之間的問題詳解

    vue中使用element ui的彈窗與echarts之間的問題詳解

    這篇文章主要介紹了vue中使用element ui的彈窗與echarts之間的問題詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • vue element-ui讀取pdf文件的方法

    vue element-ui讀取pdf文件的方法

    這篇文章主要介紹了vue element-ui讀取pdf文件的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Vue CLI3 如何支持less的方法示例

    Vue CLI3 如何支持less的方法示例

    這篇文章主要介紹了Vue CLI3 如何支持less的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 如何使用vue自定義指令構(gòu)建拖放插件

    如何使用vue自定義指令構(gòu)建拖放插件

    這篇文章主要介紹了如何使用vue自定義指令構(gòu)建拖放插件,幫助大家更好的理解和學(xué)習(xí)使用vue,感興趣的朋友可以了解下
    2021-04-04
  • Vue 瑩石攝像頭直播視頻實例代碼

    Vue 瑩石攝像頭直播視頻實例代碼

    本文通過實例代碼給大家介紹了vue 瑩石攝像頭直播視頻功能,文章還給大家提到了vue h5項目調(diào)用手機攝像頭錄像并上傳的功能,需要的朋友可以參考下
    2018-08-08
  • 基于vue編寫一個月餅連連看游戲

    基于vue編寫一個月餅連連看游戲

    中秋節(jié)快要到啦,我們一起用Vue創(chuàng)建一個簡單的連連看游戲,連連看大家一定都玩過吧,通過消除相同的圖案來清理棋盤,小編將一步步引導(dǎo)大家完成整個游戲的制作過程,讓我們開始吧,一起為中秋節(jié)增添一些互動和娛樂
    2023-09-09
  • vue實現(xiàn)消息向上無縫滾動效果

    vue實現(xiàn)消息向上無縫滾動效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)消息向上無縫滾動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue?Input輸入框自動獲得焦點的有效方法

    Vue?Input輸入框自動獲得焦點的有效方法

    我們有時候會遇到要輸入框自動獲取焦點的情況,下面這篇文章主要給大家介紹了關(guān)于Vue?Input輸入框自動獲得焦點的簡單方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • SpringBoot+Vue3實現(xiàn)文件的上傳和下載功能

    SpringBoot+Vue3實現(xiàn)文件的上傳和下載功能

    上傳文件和下載文件是我們平時經(jīng)常用到的功能,接下來就讓我們用SpringBoot,Vue3和ElementPlus組件實現(xiàn)文件的上傳和下載功能吧,感興趣的朋友跟隨小編一起看看吧
    2023-01-01

最新評論