当前位置: 首页 > news >正文

输入json 达到预览效果

下载  npm i vue-json-pretty@2.4.0

<template><div class="newBranchesDialog"><t-base-dialogv-if="addDialogShow"title="Json数据配置"@closeDialog="closeDialog":dialogVisible="addDialogShow":center="false"@handleSubmit="handleSubmit"width="70%"><div><el-row class="width100 fixHeight200 overflowYAuto" :gutter="10"><el-col :span="jsonStr ? 10 : 24"><el-inputv-model="jsonStr":rows="26"type="textarea"placeholder="请输入配置Json"/></el-col><el-col :span="2" v-if="jsonStr"><div class="height100 flexCenter"><el-icon class="fontSize28"><Right /></el-icon></div></el-col><el-col :span="12" v-if="jsonStr"><vue-json-pretty:virtual="true":deep="3":height="600":show-icon="true":editable="false":highlightMouseoverNode="true":show-line-number="true"v-model="jsonStr":data="isValidJSON(jsonStr) ? JSON.parse(jsonStr) : {}"@update:data="updateData($event)"></vue-json-pretty></el-col></el-row></div></t-base-dialog></div>
</template>
<script setup>
import TBaseDialog from "@/components/base-dialog/index.vue";
import TForm from "@/components/form/index.vue";
import { ref, reactive, onMounted, getCurrentInstance } from "vue";
import { ElMessage } from "element-plus";
import VueJsonPretty from "vue-json-pretty";
import "vue-json-pretty/lib/styles.css";// 初始化值
const addDialogShow = ref(false);
const { proxy } = getCurrentInstance();
const loading = ref(false);
const jsonStr = ref('');
const isValidJSON = (str) => {try {JSON.parse(str);return true;} catch (e) {return false;}
};
//*编辑json内容
const updateData = (data) => {jsonStr.value = JSON.stringify(data);
};// 打开弹框
const showDialog = (data) => {addDialogShow.value = true;
};
// 关闭弹框
const closeDialog = () => {addDialogShow.value = false;
};// 提交按钮
const handleSubmit = async () => {closeDialog();proxy.$parent.carryInData(JSON.parse(jsonStr.value));
};// 暴露方法
defineExpose({ showDialog });
</script>

http://www.lryc.cn/news/493606.html

相关文章:

  • DataLoade类与list ,iterator ,yield的用法
  • model_selection.train_test_split函数介绍
  • Springboot 读取 resource 目录下的Excel文件并下载
  • SQL EXISTS 子句的深入解析
  • 33.Java冒泡排序
  • Docker容器ping不通外网问题排查及解决
  • JavaScript 库 number-precision 如何使用?
  • faiss库中ivf-sq(ScalarQuantizer,标量量化)代码解读-2
  • 性能测试工具Grafana、InfluxDB和Collectd的搭建
  • 【ruby on rails】dup、deep_dup、clone的区别
  • 原生微信小程序画表格
  • Python实现IP代理池
  • 互联网直播/点播EasyDSS视频推拉流平台视频点播有哪些技术特点?
  • 32.4 prometheus存储磁盘数据结构和存储参数
  • C7.【C++ Cont】范围for的使用和auto关键字
  • 联通云服务器部署老项目tomcat记录
  • 剪映自动批量替换视频、图片素材教程,视频批量复刻、混剪裂变等功能介绍
  • el-dialog中调用resetFields()方法重置表单报错
  • 分布式系统接口,如何避免重复提交
  • AI 声音:数字音频、语音识别、TTS 简介与使用示例
  • 【论文速读】| 人工智能驱动的网络威胁情报自动化
  • 什么是域名监控?
  • vue3 发送 axios 请求时没有接受到响应数据
  • 前端使用fontfaceobserver库实现字体设置
  • 【人工智能】Python常用库-PyTorch常用方法教程
  • Android Studio安装TalkX AI编程助手
  • #渗透测试#红蓝攻防#HW#漏洞挖掘#漏洞复现02-永恒之蓝漏洞
  • gitlab自动打包python项目
  • 残差神经网络
  • mini-spring源码分析