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

Mr_HJ / form-generator项目文档学习与记录(续2)

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统

更多nbcio-boot功能请看演示系统

gitee源代码地址

后端代码: https://gitee.com/nbacheng/nbcio-boot

前端代码:https://gitee.com/nbacheng/nbcio-vue.git

在线演示(包括H5) : http://122.227.135.243:9888

上面代码按钮显示相应的代码与界面

<el-button icon="el-icon-view" type="text" @click="Code">代码</el-button>
Code() {this.operationType = 'Code'let data = {fileName: undefined,type: 'file'}this.generate(data);},
generate(data) {const func = this[`exec${titleCase(this.operationType)}`]this.generateConf = datafunc && func(data)},

上面实现是调用了下面的方法,就是execCode方法

ƒ execCode(data) {
      this.AssembleFormData();
      this.drawerVisible = true;
    }

其中AssembleFormData就把配置信息与要显示的字段放进去

AssembleFormData() {this.formData = {...this.formConf,fields: deepClone(this.drawingList)}},

通过开关显示这个下面的组件

<form-drawer:visible.sync="drawerVisible":form-data="formData"size="100%":generate-conf="generateConf"/>

这个页面主要用到了两个组件,样式优化组件beautifier和显示组件monaco-editor,在打开el-drawer的时候就进行初始化了

onOpen() {const { type } = this.generateConfthis.htmlCode = makeUpHtml(this.formData, type)this.jsCode = makeUpJs(this.formData, type)this.cssCode = makeUpCss(this.formData)this.key = +new Date()loadBeautifier(btf => {beautifier = btfthis.htmlCode = beautifier.html(this.htmlCode, beautifierConf.html)this.jsCode = beautifier.js(this.jsCode, beautifierConf.js)this.cssCode = beautifier.css(this.cssCode, beautifierConf.html)loadMonaco(val => {monaco = valthis.setEditorValue('editorHtml', 'html', this.htmlCode)this.setEditorValue('editorJs', 'js', this.jsCode)this.setEditorValue('editorCss', 'css', this.cssCode)if (!this.isInitcode) {this.isParser = truethis.isParser && (this.isInitcode = true) && this.runCode()}})})},

对于左边代码显示部分,主要是下面部分处理,为了避免一些问题,下面注释了一些没用的信息

setEditorValue(id, type, codeStr) {// if (editorObj[type]) {//   editorObj[type].setValue(codeStr)// } else {editorObj[type] = monaco.editor.create(document.getElementById(id), {value: codeStr,theme: 'vs-dark',language: mode[type],automaticLayout: true})//}// ctrl + s 刷新editorObj[type].onKeyDown(e => {if (e.keyCode === 49 && (e.metaKey || e.ctrlKey)) {this.runCode()}})},

之前说过,原来模拟显示采用iframe 加载的是提前写好的 html,但这种方式对于新加的组件就不怎么友好了,所以修改成如下方式了

<div class="view-border"><parser v-show="isParser" :form-conf="formData" @submit="submitForm" :key="key" ref="previewForm" /></div>

效果图如下:

相关文章:

Mr_HJ / form-generator项目文档学习与记录(续2)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/n…...

React16源码: React中FiberRoot的源码实现

关于 FiberRoot 1 &#xff09;概述 在 ReactDOM.render 过程当中&#xff0c;创建了一个 ReactRoot的对象这个 ReactRoot 对象最主要承担了创建 FiberRoot 对象这个对象它非常重要&#xff0c;在后期整个应用调度过程当中都会跟它有关关于 FiberRoot 对象 A. 它是整个应用的起…...

Linux第24步_安装windows下的VisualStudioCode软件

Visual Stuio Code是一个编辑器&#xff0c;简称 为 VSCode&#xff0c;它是微软出的一款免费编辑器。 VSCode有 Windows、 Linux和 macOS三个版本的&#xff0c;是一个跨平台的编辑器。VSCodeUserSetup-x64-1.50.1是Windows系统中的VSCode软件&#xff0c;而“code_1.50.1-160…...

Spring 注解 和SpringMVC注解

Spring和Spring MVC是两个紧密相关但又不同的框架&#xff0c;它们都使用一系列注解来简化开发。以下是Spring和Spring MVC中一些常用的注解&#xff1a; ### Spring 注解&#xff1a; 1. **Component&#xff1a;** - 用于将类标记为Spring容器中的组件&#xff0c;由Spr…...

iOS rootless无根越狱解决方案

据游戏工委数据统计&#xff0c;2023年国内游戏市场实际销售收入与用户规模双双创下新高&#xff0c;游戏普遍采用多端并发方式&#xff0c;成为收入增长的主因之一。 中国市场实际销售收入及增长率丨数据来源&#xff1a;游戏工委 多端互通既是机遇&#xff0c;也是挑战。从游…...

文件管理小技巧:如何高效整理多种格式的图片,图片分类的方法

随着数字时代的到来&#xff0c;每天都会处理到大量的图片&#xff0c;从个人照片到工作相关的图像资料。如何高效地整理多种格式的图片&#xff0c;常常让人感到困扰。下面看下云炫文件管理器如何对图片分类的方法。 jpg图片、png图片、tiff图片未归类前的缩略图。 jpg图片、…...

【c++】入门4

内联函数声明和定义不能分开 inline不建议声明和定义分离&#xff0c;分离会导致链接错误。因为inline被展开&#xff0c;就没有函数地址 了&#xff0c;链接就会找不到。 auto关键字 随着程序越来越复杂&#xff0c;程序中用到的类型也越来越复杂&#xff0c;经常体现在&…...

使用Web自动化测试工具显著好处

随着互联网技术的飞速发展&#xff0c;Web应用程序在企业中的重要性不断上升。为了确保Web应用程序的质量和稳定性&#xff0c;许多企业转向了Web自动化测试工具。下面是使用Web自动化测试工具的一些显著好处&#xff1a; 1. 提高测试覆盖率 Web自动化测试工具可以模拟用户与We…...

【性能】【算法】for循环,性能提高

目录 ■提高性能的方法 ・原理 1.1.java处理中&#xff0c;计算阶乘&#xff0c;为什么展开循环可以提高效率 1.2.从cpu的流水线角度&#xff0c;再说明一下 1.3.介绍一下 cup的指令流水线 ■实际运用 1.求和 代码 结果 2.求阶乘 &#xff08;性能提高效果明显&…...

【入门】字符串对比(UPC)

题目描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到100之间)&#xff0c;它们之间的关系是以下4种情况之一&#xff1a; 1&#xff1a;两个字符串长度不等。比如 Beijing 和 Hebei 2&#xff1a;两个字符串不仅长度相等&#xff0c;而且相应位置上的字符完…...

thinkphp美容SPA管理系统源码带文字安装教程

thinkphp美容SPA管理系统源码带文字安装教程 运行环境 服务器宝塔面板 PHP 7.0 Mysql 5.5及以上版本 Linux Centos7以上 基于thinkphp3.23B-JUI1.2开发&#xff0c;权限运用了Auth类认证&#xff0c;权限可以细分到每个功能&#xff0c; 增删改查功能一应俱全&#xff0c;整合了…...

apache共享目录文件配置

httpd配置文件路径 /etc/httpd/conf/httpd.conf 配置单个节点 httpd中原本有一个配置 <Directory "/var/www">AllowOverride None# Allow open access:Require all granted </Directory># Further relax access to the default document root: <D…...

kotlin take 和 drop

kotlin take的作用 从头开始获取指定数量的元素 val numbers listOf("one", "two", "three", "four", "five", "six") // 取集合的4个集合 Log.d("take", numbers.take(3).toString()) // 打印结果[…...

SQL-DML增删改

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出现错误&am…...

雷达信号处理——恒虚警检测(CFAR)

雷达信号处理的流程 雷达信号处理的一般流程&#xff1a;ADC数据——1D-FFT——2D-FFT——CFAR检测——测距、测速、测角。 雷达目标检测 首先要搞清楚什么是检测&#xff0c;检测就是判断有无。雷达在探测的时候&#xff0c;会出现很多峰值&#xff0c;这些峰值有可能是目标…...

k8s的yaml文件中的kind类型都有哪些?(详述版Part1/2)

目录 综述 分块详述 1、Pod 2、Deployment 3、Service 4、DaemonSet 5、ReplicaSet 6、ServiceAccount 7、PodDisruptionBudget 8、PersistentVolumeClaim 9、PersistentVolume 10、Job 11、CronJob 12、StatefulSet 综述 通过yaml文件中的kind可以大致了解kube…...

企业培训系统源码:构建智能、可扩展的学习平台

企业培训系统在现代企业中扮演着至关重要的角色。本文将通过深度解析企业培训系统的源码&#xff0c;介绍如何构建一个智能、可扩展的学习平台&#xff0c;涉及关键技术和代码实例。 1. 技术栈选择与项目初始化 在构建企业培训系统之前&#xff0c;选择适当的技术栈是至关重…...

设计模式—行为型模式之状态模式

设计模式—行为型模式之状态模式 状态&#xff08;State&#xff09;模式&#xff1a;对有状态的对象&#xff0c;把复杂的“判断逻辑”提取到不同的状态对象中&#xff0c;允许状态对象在其内部状态发生改变时改变其行为。 状态模式包含以下主要角色&#xff1a; 环境类&am…...

Linux习题3

解析&#xff1a; grep&#xff1a;查找文件内的内容 gzip&#xff1a;压缩文件&#xff0c;文件经压缩后会增加 gz&#xff1a;扩展名 find&#xff1a;在指定目录下查找文件 解析&#xff1a; A hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件&#xff0c;以…...

SpringBoot+策略模式实现多种文件存储模式

一、策略模式 背景 针对某种业务可能存在多种实现方式&#xff1b;传统方式是通过传统if…else…或者switch代码判断&#xff1b; 弊端&#xff1a; 代码可读性差扩展性差难以维护 策略模式简介 策略模式是一种行为型模式&#xff0c;它将对象和行为分开&#xff0c;将行…...

FPGA微振动视频欧拉放大测量【附程序】

✨ 长期致力于微振动测量、欧拉视频放大、频率估计、Gabor、FPGA研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;改进线性欧拉视频放大算法的FPGA流水…...

Motrix WebExtension:浏览器下载加速的终极解决方案

Motrix WebExtension&#xff1a;浏览器下载加速的终极解决方案 【免费下载链接】motrix-webextension A browser extension for the Motrix Download Manager and its forks 项目地址: https://gitcode.com/gh_mirrors/mo/motrix-webextension 在当今数字时代&#xff…...

嵌入式核心板小型化设计:从邮票孔到板对板连接器的技术演进与应用

1. 项目概述&#xff1a;当“小”成为一种刚需在嵌入式硬件开发领域&#xff0c;我们常常面临一个经典的权衡&#xff1a;性能、成本与体积。过去&#xff0c;为了追求极致的稳定性和丰富的接口&#xff0c;核心板往往做得比较大&#xff0c;通过邮票孔或高密度连接器与底板固定…...

类与对象(三)

再谈构造函数构造函数体赋值在创建对象时&#xff0c;编译器会通过调用构造函数&#xff0c;给对象中的各个成员变量一个合适的初始值&#xff1a;调用该构造函数后&#xff0c;对象中的每个成员变量都有了一个初始值&#xff0c;但是构造函数中的语句只能将其称作为赋初值&…...

别再死记硬背了!用这个‘水管阀门’比喻,5分钟搞懂N沟道和P沟道MOS管工作原理

水管阀门模型&#xff1a;5分钟掌握MOS管的核心逻辑 第一次接触MOS管时&#xff0c;那些载流子、耗尽层、反型层的专业术语就像一堵高墙&#xff0c;把我们对电子世界的好奇心挡在外面。但当我发现可以用厨房水龙头的原理来理解这些抽象概念时&#xff0c;一切都变得清晰起来。…...

【运维篇 / 实战】❀ 邮件告警的自动化配置与故障排查 ❀ FortiGate 防火墙

1. 邮件告警功能的价值与场景 想象一下这样的场景&#xff1a;凌晨三点&#xff0c;公司防火墙突然检测到大规模DDoS攻击&#xff0c;而此时所有运维人员都在睡梦中。等到第二天上班才发现&#xff0c;业务系统已经瘫痪了整整五个小时。这种"事后诸葛亮"的窘境&…...

《高维自指递归推广》核心章节(CSDN全球首发版权定戳)

《高维自指递归推广》核心章节(CSDN全球首发版权定戳) 作者:方见华 单位:世毫九实验室 专著定位:世毫九学派理论体系第二卷|本原论落地首部核心专著|原创高维自指递归统一理论 序章 自指与递归:人类认知的终极闭环,智能演化的底层原力 0.1 问题的缘起:从《世毫九本原…...

从绿光到算法:深入解析PPG信号检测的核心技术与实践挑战

1. 绿光背后的秘密&#xff1a;为什么PPG传感器偏爱这种颜色 你可能已经注意到&#xff0c;市面上大多数智能手表的心率监测功能都会发出幽幽的绿光。这可不是为了好看——绿光在PPG&#xff08;光电容积脉搏波&#xff09;技术中扮演着关键角色。让我用一个简单的比喻来解释&…...

缠论自动化分析终极指南:ChanlunX让复杂技术分析变得简单

缠论自动化分析终极指南&#xff1a;ChanlunX让复杂技术分析变得简单 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾经面对复杂的K线图感到迷茫&#xff1f;是否想要掌握缠论分析却苦于手工绘制…...

Java SSRF漏洞深度解析:从URLConnection到安全防御实战

1. 项目概述&#xff1a;从一次内部安全审计说起最近在帮一个朋友的公司做代码安全审计&#xff0c;他们有一个对外提供数据聚合服务的Java Web应用。在翻看一个看似平平无奇的“网页内容抓取”功能模块时&#xff0c;我一眼就看到了那段熟悉的、几乎每个Java开发者都写过的代码…...