vue3使用vue-diff工具來比較數(shù)據(jù)差異
1.安裝vue-diff
npm i vue-diff
2.main.js中全局注冊
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="請輸入JSON"></el-input>
<el-input clearable v-model="formParams.textarea2" style="width: 50vw;" class="ml10"
:autosize="{ minRows: 10, maxRows: 20 }" type="textarea" placeholder="請輸入需要比較的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">
對比預(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.說明
vue3中沒有diff算法,不能使用diff插件,需要用vue-diff或者其他插件
6.補充
項目地址:https://gitcode.com/gh_mirrors/vu/vue-diff/overview
通過language屬性來選擇數(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工具來比較數(shù)據(jù)差異的文章就介紹到這了,更多相關(guān)vue3 vue-diff比較數(shù)據(jù)差異內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中零拷貝和深拷貝的原理及實現(xiàn)探究(代碼示例)
深拷貝和零拷貝是兩個在 Java 中廣泛使用的概念,它們分別用于對象復(fù)制和數(shù)據(jù)傳輸優(yōu)化,下面將詳細(xì)介紹這兩個概念的原理,并給出相應(yīng)的 Java 代碼示例,感興趣的朋友一起看看吧2023-12-12
Java Email郵件發(fā)送簡單實現(xiàn)介紹
電子郵件從用戶電腦的郵件軟件,例如Outlook,發(fā)送到郵件服務(wù)器上,可能經(jīng)過若干個郵件服務(wù)器的中轉(zhuǎn),最終到達對方郵件服務(wù)器上,收件方就可以用軟件接收郵件2022-11-11
javax.mail.SendFailedException: Sending failed問題原因
這篇文章主要介紹了javax.mail.SendFailedException: Sending failed問題原因,需要的朋友可以參考下2015-05-05
Spring Security @PreAuthorize注解分析
本教程介紹了如何使用 Spring 方法級安全和 @PreAuthorize 注解來保護 RestController 方法,通過這些步驟,您可以確保只有具有適當(dāng)角色或權(quán)限的用戶才能訪問特定的 REST API,感興趣的朋友跟隨小編一起看看吧2024-11-11
SpringBoot靜態(tài)資源映射,圖片無法實時訪問問題及解決
文章介紹了Spring Boot中靜態(tài)資源映射配置,解決了圖片上傳后無法實時訪問的問題,通過配置虛擬路徑,將訪問路徑映射到指定的物理路徑,解決了圖片無法實時顯示的問題2025-02-02

