DDei在线设计器-HTML渲染
Html渲染
HtmlViewer插件通过将一个外部DIV附着在图形控件上,从而改变原有图形的显示方式。允许使用者自己定义HTML通过HTML元素。本示例演示了通过Html来扩展渲染图形,从而获得更加丰富的图形展现。
通常情况下,我们创建的图形控件,如下图所示:
通过HtmlViewer插件,我们可以使用表现力更强的HTML元素来替换显示的图形,或者结合业务需要,将一些业务数据显示在图形上,如下:
本篇最后提供的示例可以在DDei文档直接预览。
一、HTML渲染
ReplaceDivDemo.vue 渲染模板
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'] } }; 代码 {{ type }} 名称 {{ name }}
demo.vue
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 } }) ], } // [!code --] // [!code --]
仓库信息
源码: https://gitee.com/hoslay/ddei-editor
文档: http://docs.ddei.top
在线体验: https://www.ddei.top
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。