vue3使用vue-diff工具來(lái)比較數(shù)據(jù)差異
1.安裝vue-diff
npm i vue-diff
2.main.js中全局注冊(cè)
import VueDiff from "vue-diff"; import "vue-diff/dist/index.css"; app.use(VueDiff)
3.使用
<template>
<div class="contain-page">
<el-scrollbar height="100vh">
<el-card>
<div class="display-between">
<el-input clearable v-model="formParams.textarea1" style="width: 50vw;" class="mr10"
:autosize="{ minRows: 10, maxRows: 20 }" type="textarea" placeholder="請(qǐng)輸入JSON"></el-input>
<el-input clearable v-model="formParams.textarea2" style="width: 50vw;" class="ml10"
:autosize="{ minRows: 10, maxRows: 20 }" type="textarea" placeholder="請(qǐng)輸入需要比較的JSON"></el-input>
</div>
<div class="mt20">
<el-dropdown>
<el-button type="primary">
選擇數(shù)據(jù)格式<el-icon class="el-icon--right"><arrow-down /></el-icon>
</el-button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="language='json'">json格式</el-dropdown-item>
<el-dropdown-item @click="language='text'">text格式</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
<el-button type="primary" plain @click="formParams = {}" class="ml20">清空</el-button>
</div>
</el-card>
<el-card class="mt20">
<div class="title">
對(duì)比預(yù)覽
</div>
<Diff mode="split" theme="light" :language="language" :prev="formParams.textarea1"
:current="formParams.textarea2" style="height: calc(100% - 50px); width: 100%; overflow: scroll" />
</el-card>
</el-scrollbar>
</div>
</template>
<script setup>
import { computed, ref } from 'vue';
const bool = computed(() => formParams.value.textarea1 === '' || formParams.value.textarea2 === '')
const language = ref("json")
const formParams = ref({
textarea1: "",
textarea2: ""
})
</script>
4.效果

5.說(shuō)明
vue3中沒(méi)有diff算法,不能使用diff插件,需要用vue-diff或者其他插件
6.補(bǔ)充
項(xiàng)目地址:https://gitcode.com/gh_mirrors/vu/vue-diff/overview
通過(guò)language屬性來(lái)選擇數(shù)據(jù)的格式,以下是數(shù)據(jù)格式
css
- xml: xml, html, xhtml, rss, atom, xjb, xsd, xsl, plist, svg
- markdown: markdown, md, mkdown, mkd
- javascript: javascript, js, jsx
- json
- plaintext: plaintext, txt, text
- typescript: typescript, ts
到此這篇關(guān)于vue3使用vue-diff工具來(lái)比較數(shù)據(jù)差異的文章就介紹到這了,更多相關(guān)vue3 vue-diff比較數(shù)據(jù)差異內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中零拷貝和深拷貝的原理及實(shí)現(xiàn)探究(代碼示例)
深拷貝和零拷貝是兩個(gè)在 Java 中廣泛使用的概念,它們分別用于對(duì)象復(fù)制和數(shù)據(jù)傳輸優(yōu)化,下面將詳細(xì)介紹這兩個(gè)概念的原理,并給出相應(yīng)的 Java 代碼示例,感興趣的朋友一起看看吧2023-12-12
Java Email郵件發(fā)送簡(jiǎn)單實(shí)現(xiàn)介紹
電子郵件從用戶電腦的郵件軟件,例如Outlook,發(fā)送到郵件服務(wù)器上,可能經(jīng)過(guò)若干個(gè)郵件服務(wù)器的中轉(zhuǎn),最終到達(dá)對(duì)方郵件服務(wù)器上,收件方就可以用軟件接收郵件2022-11-11
javax.mail.SendFailedException: Sending failed問(wèn)題原因
這篇文章主要介紹了javax.mail.SendFailedException: Sending failed問(wèn)題原因,需要的朋友可以參考下2015-05-05
Java?棧與隊(duì)列實(shí)戰(zhàn)真題訓(xùn)練
在編寫程序的時(shí)候,對(duì)于棧與隊(duì)列的應(yīng)用需要熟練的掌握,這樣才能夠確保寫出來(lái)的代碼有質(zhì)量。本文小編就以幾個(gè)題目詳細(xì)說(shuō)說(shuō)Java中的棧與隊(duì)列,需要的朋友可以參考一下2022-04-04
Spring Security @PreAuthorize注解分析
本教程介紹了如何使用 Spring 方法級(jí)安全和 @PreAuthorize 注解來(lái)保護(hù) RestController 方法,通過(guò)這些步驟,您可以確保只有具有適當(dāng)角色或權(quán)限的用戶才能訪問(wèn)特定的 REST API,感興趣的朋友跟隨小編一起看看吧2024-11-11
SpringBoot靜態(tài)資源映射,圖片無(wú)法實(shí)時(shí)訪問(wèn)問(wèn)題及解決
文章介紹了Spring Boot中靜態(tài)資源映射配置,解決了圖片上傳后無(wú)法實(shí)時(shí)訪問(wèn)的問(wèn)題,通過(guò)配置虛擬路徑,將訪問(wèn)路徑映射到指定的物理路徑,解決了圖片無(wú)法實(shí)時(shí)顯示的問(wèn)題2025-02-02
關(guān)于自定義過(guò)濾器獲取不到session問(wèn)題
這篇文章主要介紹了關(guān)于自定義過(guò)濾器獲取不到session問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01

