DDei在线设计器-HTML渲染

news2024/9/20 15:02:31

Html渲染

  HtmlViewer插件通过将一个外部DIV附着在图形控件上,从而改变原有图形的显示方式。允许使用者自己定义HTML通过HTML元素。本示例演示了通过Html来扩展渲染图形,从而获得更加丰富的图形展现。

  通常情况下,我们创建的图形控件,如下图所示:
在这里插入图片描述

  通过HtmlViewer插件,我们可以使用表现力更强的HTML元素来替换显示的图形,或者结合业务需要,将一些业务数据显示在图形上,如下:
在这里插入图片描述

  本篇最后提供的示例可以在DDei文档直接预览。

一、HTML渲染

ReplaceDivDemo.vue 渲染模板

<script lang="ts">
export default {
  name: "replace-div-demo",
  props: {
    type: {
      type: String,
      default: null
    },
    name: {
      type: String,
      default: null
    },
    matchField:{
      type: String,
      default: null
    },
    editor:{
      type:Object,
      default:null
    }
  },
  
  mounted() {
    let field = this.matchField;
    this.editor.renderViewerIns[this[field]] = this.$refs['divElement']
  }
};
</script>
<template>
  <div ref="divElement"
    style="display: flex;flex-direction:column;text-align:center;align-items: center;background: white;color:black;display: none;">
    <div style="width:100%;display: flex;text-align:center;align-items: center;">
      <div style="flex:1">代码</div>
      <div style="flex:1">{{ type }}</div>
    </div>
    <div style="width:100%;display: flex;text-align:center;align-items: center;">
      <div style="flex:1">名称</div>
      <div style="flex:1">{{ name }}</div>
    </div>
  </div>
</template>

demo.vue

<script setup lang="ts">
import DDeiEditorView from "ddei-editor";
import { DDeiCoreStandLayout } from "ddei-editor";
import { DDeiExtHtmlViewer } from "ddei-editor"; // [!code ++]
import ReplaceDivDemo from "./ReplaceDivDemo.vue" // [!code ++] 


const options = {
  config: { 
    initData: {
      //初始化图形控件,type为扩展属性,用来匹配DDeiExtHtmlViewer的matchField
      controls: [ 
        {
          id: "act_1",
          model: "102010",
          type: "emp_1",  // [!code ++]
          text: "第一步",
          border:{color:"yellow",dash:[10,10,5,5],width:5},
          fill:{color:"grey"},
        },
        {
          id: "act_2",
          model: "102010",
          type: "emp_2",  // [!code ++]
          width: 200,
          height: 100,
          text: "第二步",
          offsetY: -70,
        }
      ]
    }
  },
  //配置扩展插件
  extensions: [
    //布局的配置
    DDeiCoreStandLayout.configuration({
      //配置插件
      'top': [],
      'middle': ['ddei-core-panel-canvasview', 'ddei-core-panel-quickcolorview'],
      'bottom':[],
      'left': [],
      'right': []
    }),
    //配置htmlviewer插件,matchField用于声明图形控件中的属性与config中的key对应字段  // [!code ++:19]
    DDeiExtHtmlViewer.configuration({
      matchField: "type", //匹配字段
      "emp_1": {          //key-value
        type: "emp_1",
        name: "张三",
        viewer: ReplaceDivDemo  //HTML模板控件
      },
      "emp_2": {
        type: "emp_2",
        name: "李四",
        viewer: ReplaceDivDemo
      },
      "emp_3": {
        type: "emp_3",
        name: "王五",
        viewer: ReplaceDivDemo
      }
    })
    
  ],
}
</script>

<template>
  <div style="width:400px;height:400px;margin:100px auto;">// [!code --]
    <DDeiEditorView :options="options" id="ddei_editor_1"></DDeiEditorView>
  </div>// [!code --]
</template>

仓库信息

源码: https://gitee.com/hoslay/ddei-editor

文档: http://docs.ddei.top

在线体验: https://www.ddei.top

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1933561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Wireshark抓取HTTP

HTTP请求响应 使用wireshark抓取 本地机器是192.168.33.195&#xff0c;远程机器是192.168.32.129&#xff0c;远程HTTP服务端口是9005 TCP/IP实际共分为4层&#xff0c;抓包信息中可以看到各层的数据&#xff0c;最上面的数据帧包含了所有数据。 附&#xff1a;抓取本地H…

【Harmony】SCU暑期实训鸿蒙开发学习日记Day2

目录 Git 参考文章 常用操作 ArkTS的网络编程 Http编程 发送请求 GET POST 处理响应 JSON数据解析 处理响应头 错误处理 Web组件 用生命周期钩子实现登录验证功能 思路 代码示例 解读 纯记录学习日记&#xff0c;杂乱&#xff0c;误点的师傅可以掉了&#x1…

体验智慧校园学工管理的社团类型功能

在智慧校园学工管理的框架下&#xff0c;社团类型的精细化管理成为了激发学生兴趣、促进社团多样性与规范性的关键。这一功能的核心在于构建一个清晰的社团分类体系&#xff0c;确保每一种社团都能在其所属领域内蓬勃发展&#xff0c;同时&#xff0c;也便于校园管理者进行有效…

C#与C++交互开发系列(一):引言:为什么需要C#与C++交互开发

C#与C交互开发系列&#xff08;一&#xff09;&#xff1a;引言&#xff1a;为什么需要C#与C交互开发 欢迎来到C#与C交互开发系列博客的第一篇。在这个系列中&#xff0c;我们将探讨如何在C#与C之间实现互操作性&#xff0c;并逐步深入理解其应用场景和技术实现。本文将介绍什么…

植物大战僵尸全新版本Q版少女助阵好感度系统加持安卓winmac全兼容

植物大战僵尸全新版本Q版少女助阵好感度系统加持安卓winmac全兼容 链接: https://pan.baidu.com/s/11UFm4r8FKhkGAxM8dLVA8Q?pwdqnx8 提取码: qnx8

C++ ───List的使用

目录 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 1.2.6 list的迭代器失效 1.1 list的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&…

算法——双指针(day2)

目录 202.快乐数 题目解析&#xff1a; 算法解析&#xff1a; 代码&#xff1a; 11.盛最多水的容器 题目解析&#xff1a; 算法解析&#xff1a; 代码&#xff1a; 202.快乐数 力扣链接&#xff1a;202.快乐数 题目解析&#xff1a; 本文中最重要的一句话就是重复平方和…

Elasticsearch基础(三)

目录 1.DSL查询文档 1.1.DSL查询分类 1.2.全文检索查询 1.3.精准查询 1.4.地理坐标查询 1.5.复合查询 2.搜索结果处理 2.1.排序 2.2.分页 2.3.高亮 2.4.总结 3.RestClient查询文档 3.1.快速入门 3.2.match查询 3.3.精确查询 3.4.布尔查询 3.5.排序、分页 3.6.…

C语言 | Leetcode C语言题解之第233题数字1的个数

题目&#xff1a; 题解&#xff1a; int countDigitOne(int n) {// mulk 表示 10^k// 在下面的代码中&#xff0c;可以发现 k 并没有被直接使用到&#xff08;都是使用 10^k&#xff09;// 但为了让代码看起来更加直观&#xff0c;这里保留了 klong long mulk 1;int ans 0;f…

大数据量接口响应慢-传输优化

问题 接口一次性返回大量数据&#xff0c;导致JSON数据大小过大&#xff0c;带宽大小不足&#xff0c;导致接口响应时间过长 解决方案 通过数据传输压缩来降低传输数据的大小&#xff0c;从而提高传输效率 服务器端压缩 springboot项目配置application文件&#xff0c;通过…

零基础学习Python(三)

1. 多重继承 一个子类可以继承多个父类&#xff0c;这与一些编程语言的规则不通。 如果多个父类中有同名的变量和方法&#xff0c;子类访问的顺序是按照继承时小括号里书写的顺序进行访问的。 可以用issubclass(B, A)方法判断B是否为A的子类。 2. 绑定 类中的方法通过参数s…

【代码随想录笔记】数组

目录 1、二分查找 2、移除元素 3、有序数组的平方 4、螺旋矩阵II 1、二分查找 对于二分搜索法&#xff0c;有两个边界问题是容易把握不准的 1. 是left < right还是left < right 2. 当nums[middle] > target时&#xff0c;需要更新右边界&#xff0c;那是right …

【深度学习入门篇 ⑥】PyTorch搭建卷积神经网络

【&#x1f34a;易编橙&#xff1a;一个帮助编程小伙伴少走弯路的终身成长社群&#x1f34a;】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官…

‍我想我大抵是疯了,我喜欢上了写单元测试

前言 大家好我是聪。相信有不少的小伙伴喜欢写代码&#xff0c;但是对于单元测试这些反而觉得多此一举&#xff0c;想着我都在接口文档测过了&#xff01;还要写什么单元测试&#xff01;写不了一点&#xff01;&#xff01; 由于本人也是一个小小程序猿&#x1f649;&#xf…

Unity | Shader基础知识(第十八集:Stencil应用-透视立方盒子)

目录 一、前言 二、场景布置 三、 shader部分 1.图片的部分 2.图片部分纯净代码 3.遮罩部分复习 4.深度写入 ZWrite 5.颜色遮罩ColorMask 6.遮罩纯净代码 四、场景中shader使用 五、作者的碎碎念 一、前言 因为这个内容稍微有点多&#xff0c;我尽力讲清楚了&#x…

VAE论文阅读

在网上看到的VAE解释&#xff0c;发现有两种版本&#xff1a; 按照原来论文中的公式纯数学推导&#xff0c;一般都是了解生成问题的人写的&#xff0c;对小白很不友好。按照实操版本的&#xff0c;非常简单易懂&#xff0c;比如苏神的。但是却忽略了论文中的公式推导&#xff…

jquery中pdf在页面的显示和导出

jquery中pdf在页面的显示和导出 01 显示pdf01 .pdf结尾在线接口显示到页面 &#xff08;pdf.js库怎么安装及使用&#xff09;&#xff1a;只显示一页02 如何用PDF.JS显示整个PDF (而不仅仅是一页)&#xff1f;03 jQuery实现在线预览PDF文件(通过a标签链接跳转)&#xff1a; 02 …

【网络安全】PostMessage:分析JS实现XSS

未经许可&#xff0c;不得转载。 文章目录 前言示例正文 前言 PostMessage是一个用于在网页间安全地发送消息的浏览器 API。它允许不同的窗口&#xff08;例如&#xff0c;来自同一域名下的不同页面或者不同域名下的跨域页面&#xff09;进行通信&#xff0c;而无需通过服务器…

【STM32 HAL库】全双工DMA双buffer的I2S使用

1、配置I2S 我们的有效数据是32位的&#xff0c;使用飞利浦格式。 2、配置DMA **这里需要注意&#xff1a;**i2s的DR寄存器是16位的&#xff0c;如果需要发送32位的数据&#xff0c;是需要写两次DR寄存器的&#xff0c;所以DMA的外设数据宽度设置16位&#xff0c;而不是32位。…

ArrayLis练习

代码呈现 import java.util.ArrayList;public class ArrayListTest {public static void main(String[] args) {//创建集合ArrayList<String> list new ArrayList();//添加元素list.add("A");list.add("B");list.add("C");list.add(&quo…