给公司做网站的公司邢台市官网

diannao/2026/1/19 22:00:41/文章来源:
给公司做网站的公司,邢台市官网,装修设计工作室推荐,网站关键词引流上期回顾#xff1a;历程[一]描述了基本的树状图的绘制#xff0c;默认节点类型defaultNode中的type是circle,下面这篇描述的是节点抽离自定义节点并做数据静态渲染。 官网地址#xff1a;https://g6-next.antv.antgroup.com/manual/introduction 一、案例效果 二、自定义节… 上期回顾历程[一]描述了基本的树状图的绘制默认节点类型defaultNode中的type是circle,下面这篇描述的是节点抽离自定义节点并做数据静态渲染。 官网地址https://g6-next.antv.antgroup.com/manual/introduction 一、案例效果 二、自定义节点渲染 1. 主要通过G6.registerNode实现自定义节点的配置官网地址:https://g6.antv.antgroup.com/manual/middle/elements/nodes/custom-node G6.registerNode(nodeName,{options: {style: {},stateStyles: {hover: {},selected: {},},},/*** 绘制节点包含文本* param {Object} cfg 节点的配置项* param {G.Group} group 图形分组节点中图形对象的容器* return {G.Shape} 返回一个绘制的图形作为 keyShape通过 node.get(keyShape) 可以获取。* 关于 keyShape 可参考文档 核心概念-节点/边/Combo-图形 Shape 与 keyShape*/draw(cfg, group) {},/*** 绘制后的附加操作默认没有任何操作* param {Object} cfg 节点的配置项* param {G.Group} group 图形分组节点中图形对象的容器*/afterDraw(cfg, group) {},/*** 更新节点包含文本* override* param {Object} cfg 节点的配置项* param {Node} node 节点*/update(cfg, node) {},/*** 更新节点后的操作一般同 afterDraw 配合使用* override* param {Object} cfg 节点的配置项* param {Node} node 节点*/afterUpdate(cfg, node) {},/*** 响应节点的状态变化。* 在需要使用动画来响应状态变化时需要被复写其他样式的响应参见下文提及的 [配置状态样式] 文档* param {String} name 状态名称* param {Object} value 状态值* param {Node} node 节点*/setState(name, value, node) {},/*** 获取锚点相关边的连入点* param {Object} cfg 节点的配置项* return {Array|null} 锚点相关边的连入点的数组,如果为 null则没有控制点*/getAnchorPoints(cfg) {},},// 继承内置节点类型的名字例如基类 single-node或 circle, rect 等// 当不指定该参数则代表不继承任何内置节点类型extendedNodeType, );2. 将渲染的节点转换为组件渲染 在 Vue3 中你可以通过 G6 的自定义节点功能并在 draw 方法中创建一个新的 Vue 实例然后将 Vue 组件的 HTML 内容添加到 G6 节点中。以下是一个基本的示例 script setup langts import { createApp, nextTick } from vue import G6 from antv/g6 import YourComponent from ./YourComponent.vueG6.registerNode(vue-node, {draw: (cfg, group) {const container document.createElement(div)const app createApp(YourComponent, { ...cfg })app.mount(container)let shapenextTick(() {shape group.addShape(dom, {attrs: {width: cfg.size[0],height: cfg.size[1],html: container.innerHTML,},name: dom-shape,})})return shape}, }) /script在这个示例中我们创建了一个新的 Vue 实例并将 YourComponent 组件挂载到一个新创建的 div 元素上。然后我们在 Vue 的 nextTick 中将这个 div 的 HTML 内容添加到 G6 节点的 dom 形状中。 然后你可以在你的图中使用这个新注册的 ‘vue-node’ 节点类型 script setup langts const graph new G6.Graph({container: graph-container,width: 800,height: 600,defaultNode: {type: vue-node,size: [100, 100],}, })graph.data({nodes: [{ id: node1, x: 100, y: 100, label: Node 1 },{ id: node2, x: 200, y: 200, label: Node 2 },],edges: [{ source: node1, target: node2 },], })graph.render() /script在这个示例中我们创建了一个新的 G6 图表并设置了默认节点类型为 ‘vue-node’。然后我们定义了图表的数据并调用 graph.render() 方法来渲染图表。 三、组件抽离及案例代码 1. 基本的绘制组件 【TopologyBase.vue】 templatediv :iddomId classw-full h-[95%]/div /template script setup langts import { initData } from /common/constants/topologyData/initRender import G6 from antv/g6 import { createApp, nextTick, onMounted, ref, watch } from vue import StatusNode from ./StatusNode.vueconst props defineProps({domId: {type: String,default: container,},treeData: {type: Array,}, }) const initTreeData ref(props.treeData) G6.registerNode(dom-node,{draw(cfg: any, group) {let shapeconst container document.createElement(div)const app createApp(StatusNode, { domNodeMsg: { ...cfg } })app.mount(container)shape group.addShape(dom, {attrs: {width: cfg.size[0],height: cfg.size[1],html: container.innerHTML,},name: dom-shape,})return shape},},single-node, ) const initRender () {const container document.getElementById(props.domId)const width container?.scrollWidthconst height container?.scrollHeightconst graph new G6.TreeGraph({container: props.domId,width,height,modes: {default: [drag-canvas, zoom-canvas, drag-node],},defaultNode: {type: dom-node, // 矩形 rect/ 默认circlesize: [80, 30],anchorPoints: [[0, 0.5],[1, 0.5],],},fitCenter: true,renderer: svg,linkCenter: true,defaultEdge: {type: cubic-horizontal,/* 通过配置边的 style 属性来设置弯曲半径和到端节点的最小距离 */style: {radius: 5,offset: 10,endArrow: true,/* 设置其他样式 */stroke: #2c3e50,},},layout: {type: compactBox,direction: LR,getId: function getId(d: { id: string }) {// 节点 id 的回调函数return d.id},getHeight: function getHeight() {// 每个节点的高度return 16},getWidth: function getWidth() {// 每个节点的宽度return 16},getVGap: function getVGap() {// 每个节点的垂直间隙return 30},getHGap: function getHGap() {// 每个节点的水平间隙return 50},},})graph.node(function (node) {return {label: node.id,labelCfg: {position: node.children node.children.length 0 ? left : right,offset: 5,},}})graph.data(initData)graph.render()graph.fitView()if (typeof window ! undefined)window.onresize () {if (!graph || graph.get(destroyed)) returnif (!container || !container.scrollWidth || !container.scrollHeight) returngraph.changeSize(container.scrollWidth, container.scrollHeight)} } watch(() props.treeData,(newValue) {initTreeData.value newValue},{ immediate: true, deep: true }, ) onMounted(() {nextTick(() {initRender()}) }) /script 2. 节点组件抽离【StatusNode.vue】 templatediv classstatus-nodediv :iddomNodeMsg.id classdom-nodespan stylecursor: pointer{{ domNodeMsg.name }}/span/div/div /templatescript setup langts defineProps([domNodeMsg]) /scriptstyle scoped .status-node {background-color: #fff;border: 1px solid #ccc;border-radius: 10px;text-align: center;font-size: 12px;padding: 0px 5px;color: #5b8ff9;.dom-node {text-overflow: ellipsis;overflow: hidden;white-space: nowrap;} } /style 3. 组件引用 TopologyBase domIdfeatureTreeInfoContainer :treeDatatableData /4.数据格式 注意 id 必须为String格式 export const initData {id: 376,name: 世界,children: [{id: 377,name: 中国,children: [{id: 380,name: 北方,children: [],}]}] }

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

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

相关文章

北京做网站建设价格常州 做网站

XML Schema 简介XSD 为何使用XML Schema 是基于 XML 的 DTD 替代者。XML Schema 可描述 XML 文档的结构。XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。在继续学习之前,您需要对下面的知识有基本的了解:HTML / XHT…

长沙公司网站模板制作方案东莞h5网站制作

离职在即,在准备下一个工作环境的这段时间,忽然有一阵感慨,工作近五年,在这段时间中,体验了两种不同的工作环境:一个规模很大,各种开发体系完备的大公司,另一个(也是目前…

免费ppypp网站网站建站 上海

题目说明: 语法定义涉及数字、括号和运算符和-的表达式的语法。起始符号为Expression。一个表达式应该对应于以下之一:一个数字标记Expression ExpressionExpression - Expression- Expression( Expression ) level help 通过语法来描述高级语言的…

网站开发工具6免费做公司手机网站

STL内建了一些函数对象。分为:算数类函数对象,关系运算类函数对象,逻辑运算类仿函数。这些仿函数所产生的对象,用法和一般函数完全相同,当然我们还可以产生无名的临时对象来履行函数功能。使用内建函数对象,需要引入头文件 functi…

慈溪做网站哪家好免费发帖推广的平台

文章目录 1 复习一元函数复合函数求导2 一元函数与多元函数复合的情形3 多元函数与多元函数复合的情形4 其他情形5 抽象复合函数求导6 全微分不变性结语 1 复习一元函数复合函数求导 y f ( u ) , u ϕ ( x ) ⇒ f [ ϕ ( x ) ] d y d x d y d u ⋅ d u d x f ′ ( u ) ⋅ ϕ…

做h5小程序的网站盐城做网站哪家公司好

作业调度对于应用程序来说是如此重要。 尤其是在大型项目中,处理大量工作可能是一个问题。 Spring和Quartz为解决该问题带来了巨大的好处。 本文介绍了如何通过使用Spring和Quartz轻松地计划多个作业。 二手技术: JDK 1.6.0_21 春天3.1.1 石英1.8.5 M…

山西网站建设多少钱wordpress如何备份 网站

目录 力扣LCR 091. 粉刷房子 解析代码 力扣LCR 091. 粉刷房子 LCR 091. 粉刷房子 难度 中等 假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相…

dns网站建设网站效果演示

在这篇简短的文章中,我将重点介绍与在任务流中创建新记录的一种非常常见的方法有关的一个小陷阱。 让我们考虑一个简单的任务流示例,该任务流创建一个新的VO行,如果用户单击“确定”按钮,则在页面片段上显示该行并提交事务&#…

静态门户网站源码外包网络安全管理

作为一个关键词,你可以将 const 视为对数据的权限控制机制之一,它主要用于限制数据的可变性,从而提高代码的安全性和可靠性。通过使用 const,可以缩小对数据的修改权限,确保数据在某些情况下不被意外修改。 而根据使用…

游戏前端转网站开发网络广告是什么意思

QueryByExampleExecutor 的使用 按示例查询(QBE)是一种用户友好的查询技术,具有简单的接口,它允许动态查询创建,并且不需要编写包含字段名称的查询。从 UML 图中,可以看出继承 JpaRepository 接口后&#…

免费网站优化软件app免费制作平台有哪些

题目 给定一个数组,找出数组中乘积最大的三个数。 原理 一个数组中最大值只有两种情况:两个最小的负数和一个最大的正数 & 三个最大的正数。线性扫描找出这五个数字,即可求出最大值。 代码 public static void main(String[] args) {…

网站tag标签湖南营销网站建设

实现两个目标框的交并比候选框在多目标跟踪中的表达方式及相应转换方法 IOU(Intersection over Union),“交并比”,是计算机视觉和图像处理中常用的一个评价指标,尤其在目标检测任务中用来衡量模型预测的目标框与真实目标框的重合程度。 具体…

空间里怎么放多个网站阿里云 个人网站备案

1。Linux下编译X264: 其实在windows下使用vc已经编译过了,不过听到有人说在linux下编好了,我也就尝试做一下,况且x264源代码的makefile已经做好了,我只需要做的就是把文件copy一下,然后make 一下就可以了。…

如何修改管理网站网站备案格式

有时我们在打字的时候,输入法不显示,能打出汉字,但无法选字,这就给输入字体造成了很大的麻烦。怎么解决呢?下面以搜狗输入法为例,描述详细解决过程。解决方法一1、我在某个网页输入字体的时候,没…

域名 备案 网站上海做响应式网站的公司

描述 蒙德城的一群冒险者计划进行一场特殊的表演以庆祝风神节。这场表演涉及到一项特别的挑战,即“冒险者塔”——一项测试冒险者们团队协作和个人承受能力的活动。 在“冒险者塔”表演中,参与者需要站在彼此的肩膀上,形成一个人类塔&#…

莆田企业自助建站系统o2o好网站

同步,异步是对于时钟而言的。 同步指的是,状态的变化需要等待时钟有效沿来触发,所有动作同时跟随这个时钟变化,而异步时,状态变化不依赖与时钟。 异步清零说的是,你需要对一个计数器在满足某种条件时想要…

柯桥做网站网站视频要vip怎么看

pause函数 调用该函数可以造成进程主动挂起,等待信号唤醒。调用该系统调用的进程将处于阻塞状态(主动放弃cpu) 直到有信号递达将其唤醒。 int pause(void); 返回值:-1 并设置errno为EINTR 返回值: ① 如果信号的默认处理动作是终止进程&#…

建材网站建设 南宁WordPress安装进入不了

目录 数据库的导出 导出整个数据库 导出数据库中的数据表 导出数据库结构 导出数据库中表的表结构 导出多个数据库 导出所有数据库 数据库的导入 数据库的导出 mysqldump -h IP地址 -P 端口 -u 用户名 -p 数据库名 > 导出的文件名 用管理员权限打开cmd进入MySQL的bi…

用ul做的网站为何浮动不上去wordpress仿社区

2007-2022年上市公司迪博内部控制评价缺陷数量数据 1、时间:2007-2022年 2、范围:上市公司 3、指标:证券代码、证券简称、辖区、证监会行业、申万行业、是否存在财报内控重大缺陷、财报内控重大缺陷数量、是否存在财报内控重要缺陷、财报内…