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

这篇具有很好参考价值的文章主要介绍了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
Mr_HJ / form-generator项目文档学习与记录(续2),nbcio-boot,ruoyi-nbcio,vue,前端,vue,前端框架,ruoyi-nbcio,superfusion,超融开源社区

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

<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 = data
      func && 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.generateConf
      this.htmlCode = makeUpHtml(this.formData, type)
      this.jsCode = makeUpJs(this.formData, type)
      this.cssCode = makeUpCss(this.formData)
      this.key = +new Date()
      loadBeautifier(btf => {
        beautifier = btf
        this.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 = val
          this.setEditorValue('editorHtml', 'html', this.htmlCode)
          this.setEditorValue('editorJs', 'js', this.jsCode)
          this.setEditorValue('editorCss', 'css', this.cssCode)
          if (!this.isInitcode) {
            this.isParser = true
            this.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),nbcio-boot,ruoyi-nbcio,vue,前端,vue,前端框架,ruoyi-nbcio,superfusion,超融开源社区文章来源地址https://www.toymoban.com/news/detail-783974.html

到了这里,关于Mr_HJ / form-generator项目文档学习与记录(续2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flutter 中实现动态表单 form generator

    最近有人问我 flutter 前端如何处理动态表单。 这种是企业开发中的常见问题,特别是问卷和工作流审核表单。 今天我们就来实现下这个功能,主要是处理这个业务功能的思路。 原文 https://ducafecat.com/blog/flutter-form-generate-dymic-data http://www.form-create.com/designer/ https://github.com/Gav

    2024年02月12日
    浏览(29)
  • Form Generator 扩展子表单组件之表单校验(超详细)

    form-generator的作者是这样介绍的:Element UI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。 但目前它提供的组件并不能满足我们在项目中的使用。所以该专栏主要讲解如何在该项目中从零

    2024年02月16日
    浏览(49)
  • Form Generator 表单JSON数据储存以及JSON回显表单

    form-generator的作者是这样介绍的:Element UI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。 但目前它提供的组件并不能满足我们在项目中的使用。所以该专栏主要讲解如何在该项目中从零

    2024年02月14日
    浏览(29)
  • 【LangChain学习】基于PDF文档构建问答知识库(二)创建项目

    这里我们使用到 fastapi 作为项目的web框架,它是一个快速(高性能)的 web 框架,上手简单。 我们在IDE中,左侧选择 FastAPI ,右侧选择创建一个新的虚拟环境。  创建成功,会有一个main.py,这是项目的入口文件。  我们运行一下看看有没有报错,没问题的话,那么我们整合

    2024年02月13日
    浏览(37)
  • Hololens入门开发(二)unity项目设置及MR开发包导入

    一.新建一个u3d项目 二.将unity的平台切换为Universal Windows Platform  三.MR开发包导入 开发包链接来自Github,根据需要的版本进行选择 https://github.com/microsoft/MixedRealityToolkit-Unity/releases 将五个unitypackage文件全部导入unity中  四.项目设置 1.选择发布设置,定位到capabilities板块 依次勾

    2024年02月05日
    浏览(70)
  • 基于STM32的智慧农业项目(物联网专业毕设)附送源码和文档材料+学习路线

    传统农业存在着产量受到环境因素影响较大的问题,现有的农业监测系统数据太过简单、太过理想化。而随着现代科学的持续发展,一个精准化、自动化的现代智能农产品管理系统将在农业生产中起着日益关键的角色。 本项目立足于温室大棚,设计一个能够智能控制和远程监

    2024年02月03日
    浏览(43)
  • 【Django学习】(十五)API接口文档平台_项目流程分析_日志器_认证_授权

    使用API接口文档不经可以很好的的维护接口数据,还给测试人员的接口测试工作带来了便利; 我们可以在全局配置文件中添加路由路径生成接口文档 1.1在全局配置文件里指定用于支持coreapi的Schema 1.2在全局路由表中添加路径   页面效果: 2.1 一定要先在配置表中注册drf_yas

    2024年02月15日
    浏览(47)
  • Hadoop学习笔记(HDP)-Part.14 安装YARN+MR

    目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger Part.14 安装YARN+MR Part.15 安装HIVE Part.16 安装HBase

    2024年02月05日
    浏览(25)
  • 【ChatGPT】Mr. Ranedeer:可定制个性化学习体验的 GPT-4 AI 导师提示

    Mr. Ranedeer AI Tutor 是一个可定制的提示,为具有不同需求和兴趣的用户提供个性化的学习体验。它使用GPT-4来释放AI的潜力,并允许您调整知识深度以匹配您的学习需求,自定义学习风格,沟通类型,语气和推理框架 。 当您使用Mr. Ranedeer AI Tutor时,您 可以选择自己的学习风格

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包