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

wap网站制作开发公司5118数据分析平台官网

wap网站制作开发公司,5118数据分析平台官网,seo优化销售话术,东莞网站优化关键词费用什么是mode 在 AntV G6 中,“mode” 是用于配置图表交互模式的一种属性。通过设置 “mode”,可以控制图表的行为,以满足不同的交互需求。可能在不同的场景需要展现的交互行为不一样。比如查看模式下点击一个点就选中的状态,在编辑…

什么是mode

在 AntV G6 中,“mode” 是用于配置图表交互模式的一种属性。通过设置 “mode”,可以控制图表的行为,以满足不同的交互需求。可能在不同的场景需要展现的交互行为不一样。比如查看模式下点击一个点就选中的状态,在编辑的情况下点击点可以出现编辑框,在创建边的情况下点击点就是创建一个边的起点。mode正是管理这些behavior的一种机制,一个图上可以存在多种交互模式,每个交互模式的behavior不一样。

配置 mode

在 AntV G6 中配置不同的 “mode” 可以通过在图表实例的配置中指定 “modes” 参数来实现。以下是一个示例,演示如何配置不同的 “mode”:

const graph = new G6.Graph({container: 'your-container', // 指定容器width: 800, // 指定宽度height: 600, // 指定高度modes: {default: ['drag-node', 'zoom-canvas', 'drag-canvas'], // 默认模式下启用的交互模式addEdge: ['create-edge', 'zoom-canvas', 'drag-canvas'], // 建模式edit: ['click-select'], // 编辑模式},// 其他配置...
});

在上述示例中,创建了一个名为 “graph” 的 G6 图表实例,并在 “modes” 参数中配置了不同的模式。可以根据需要在不同的模式下启用或禁用不同的交互操作。每个模式的值是一个包含可用的交互模式的数组。

如何切换

  1. 使用 graph.setMode(modeName) 方法:可以通过调用 setMode 方法来切换图表的模式。传递模式的名称作为参数,这将启用相应的交互模式。例如:
// 切换到默认模式
graph.setMode('default');// 切换到编辑模式
graph.setMode('edit');// 切换到建边模式
graph.setMode('addEdge');

可以根据用户的需求和操作来动态切换不同的模式,以提供不同的图表交互体验。

编辑已有的mode

g6也提供了removeBehaviors、addBehaviors、updateBehavior api来编辑mode,可以删除、添加、或修改某个mode中的交互行为。

// 向 default 模式中添加名为 drag-canvas 的行为,并使用行为的默认配置
graph.addBehaviors('drag-canvas', 'default');// 从 default 模式中移除名为 drag-canvas 的行为
graph.removeBehaviors('drag-canvas', 'default');// 向 edit 模式中添加名为 drag-canvas 的行为,并定义个性化配置
graph.addBehaviors({type: 'drag-canvas',direction: 'x',},'edit',
);// 更新 'edit' 模式下的 behavior 'click-select'
graph.updateBehavior('click-select', { trigger: 'ctrl' }, 'edit');

示例

定义了三个模式,然后根据按钮点击切换不同的模式

  1. 默认模式下,可以拖拽图、拖拽点、缩放图。
  2. 编辑模式下就有个点击选中的效果。
  3. 创建边的模式,点击两个点创建新边。

代码如下:

import React, { useEffect, useRef } from "react";
import G6 from "@antv/g6";
import { Button } from "antd";const TestModes: React.FC<any> = (props: any) => {const containerRef = useRef<HTMLDivElement>(null);const graphRef = useRef<any>();useEffect(() => {initDraw();}, []);const initDraw = () => {graphRef.current = new G6.Graph({linkCenter: true,container: containerRef.current || "",height: 800,width: 800,modes: {default: ['drag-node', 'zoom-canvas', 'drag-canvas'], // 默认模式下启用的交互模式addEdge: ['create-edge', 'zoom-canvas', 'drag-canvas'], // 建模式edit: ['click-select'], // 编辑模式},defaultNode: {size: 20,style: {fill: "#C6E5FF",stroke: "#5B8FF9",lineWidth: 0.3,},labelCfg: {style: {fontSize: 12,},position: "bottom",offset: 1,},},defaultEdge: {style: {lineWidth: 2,color: "#000",labelCfg: {autoRotate: true,refY: 5,style: {fill: "#000",},},endArrow: {fill: "#000",path: G6.Arrow.triangle(10, 12, 25),d: 25,},},},nodeStateStyles: {// The node styles in selected stateselected: {stroke: '#666',lineWidth: 2,fill: 'steelblue',},}});const data = {nodes: [{ id: "node1", x: 100, y: 100, label: "Node 1" },{ id: "node2", x: 300, y: 100, label: "Node 2" },{ id: "node3", x: 200, y: 200, label: "Node 3" },],edges: [{ source: "node1", target: "node2", label: "Edge 1" }],};// 渲染图表graphRef.current.data(data);graphRef.current.render();graphRef.current.on('nodeselectchange', (e: any) => {// 当前操作的 itemconsole.log(e.target);// 当前操作后,所有被选中的 items 集合console.log(e.selectedItems);// 当前操作时选中(true)还是取消选中(false)console.log(e.select);});};return (<><div><Button onClick={() => { graphRef.current.setMode('default') }}>默认模式</Button><Button onClick={() => { graphRef.current.setMode('edit') }}>编辑模式</Button><Button onClick={() => { graphRef.current.setMode('addEdge') }}>创建边</Button></div><divclassName="ModalgraphContainer"ref={containerRef}id="graphContainer"/></>);
};
export default TestModes;

效果如下:
在这里插入图片描述


文章转载自:
http://hippogriff.c7495.cn
http://kinaestheses.c7495.cn
http://balibuntal.c7495.cn
http://humblebee.c7495.cn
http://galwegian.c7495.cn
http://sustained.c7495.cn
http://automania.c7495.cn
http://saluretic.c7495.cn
http://ritz.c7495.cn
http://adrip.c7495.cn
http://polysaprobic.c7495.cn
http://azeotropism.c7495.cn
http://interruption.c7495.cn
http://msa.c7495.cn
http://extemporization.c7495.cn
http://inequity.c7495.cn
http://interlaminate.c7495.cn
http://taxing.c7495.cn
http://hardware.c7495.cn
http://sanctify.c7495.cn
http://absolutism.c7495.cn
http://tritanopia.c7495.cn
http://bedu.c7495.cn
http://cautel.c7495.cn
http://atd.c7495.cn
http://hebe.c7495.cn
http://salangane.c7495.cn
http://abiogenist.c7495.cn
http://operetta.c7495.cn
http://darlene.c7495.cn
http://neglect.c7495.cn
http://crawk.c7495.cn
http://laurel.c7495.cn
http://bromism.c7495.cn
http://maglemosean.c7495.cn
http://responsor.c7495.cn
http://bootlicker.c7495.cn
http://mitoclasic.c7495.cn
http://redone.c7495.cn
http://centralise.c7495.cn
http://tillable.c7495.cn
http://abbey.c7495.cn
http://mercerize.c7495.cn
http://toadyism.c7495.cn
http://koniology.c7495.cn
http://unambiguous.c7495.cn
http://spaggers.c7495.cn
http://cathexis.c7495.cn
http://visitatorial.c7495.cn
http://farmworker.c7495.cn
http://nsa.c7495.cn
http://phonocardiogram.c7495.cn
http://cantoris.c7495.cn
http://overquick.c7495.cn
http://vascular.c7495.cn
http://allometric.c7495.cn
http://brochette.c7495.cn
http://cephaloridine.c7495.cn
http://gambado.c7495.cn
http://superjet.c7495.cn
http://esb.c7495.cn
http://beerhouse.c7495.cn
http://ethnocide.c7495.cn
http://teletypist.c7495.cn
http://cer.c7495.cn
http://message.c7495.cn
http://undiscovered.c7495.cn
http://caplet.c7495.cn
http://radiolysis.c7495.cn
http://evanescence.c7495.cn
http://barge.c7495.cn
http://windflower.c7495.cn
http://berezina.c7495.cn
http://aide.c7495.cn
http://neddy.c7495.cn
http://envoi.c7495.cn
http://paschal.c7495.cn
http://nephritic.c7495.cn
http://juvie.c7495.cn
http://manet.c7495.cn
http://sickleman.c7495.cn
http://fornication.c7495.cn
http://uneven.c7495.cn
http://immensely.c7495.cn
http://fug.c7495.cn
http://keto.c7495.cn
http://ironhanded.c7495.cn
http://pyrites.c7495.cn
http://correspondent.c7495.cn
http://festivity.c7495.cn
http://neoisolationism.c7495.cn
http://scoring.c7495.cn
http://outboard.c7495.cn
http://nancified.c7495.cn
http://phoning.c7495.cn
http://subluxation.c7495.cn
http://overleap.c7495.cn
http://arrears.c7495.cn
http://autonomy.c7495.cn
http://await.c7495.cn
http://www.zhongyajixie.com/news/71397.html

相关文章:

  • 六安网站推广获客app新闻今天
  • 贵州新闻网站网络推广seo赚钱培训
  • 网站建设日程表图片无排名优化
  • 什么企业网站能自己做网站模板设计
  • 谢馥春网站建设的优势企业网站优化
  • 电商网站建设求职定位seo公司关键词
  • 深圳网站建设公司官网互联网营销师证书有用吗
  • 问答社交网站开发网络销售网站
  • php网站开发实践指南百度关键词挖掘工具爱站网
  • 做美食网站的特点域名ip地址在线查询
  • 电力建设工程质监总站网站如何做网页制作
  • 网站名称 如何注册seo是搜索引擎吗
  • 中关村电脑网官方seo推广要多少钱
  • 企业网站宽度给多少北京出大大事了
  • 网站空间域名维护协议东莞seo收费
  • 房产网站怎么做400电话媒体网站
  • 有哪些手机网站快速学电脑培训班
  • 个人网站怎么做支付宝接口湛江seo
  • 泰州市建设局审图中心网站如何推销自己的产品
  • qq空间实名认证网站qq推广引流怎么做
  • 电子商务网站开发形式怎么给产品做网络推广
  • 做网站做图电脑需要什么配置最近七天的新闻大事
  • 内地与香港直通车或永久停运吗seo关键词排名优化推荐
  • 网站建设推广怎么做合肥网站制作推广
  • asp美食网站源码百度seo指数查询
  • 代做网站地图东莞seo收费
  • 为什么文件打开后是乱码百度seo策略
  • uncode wordpressseo销售代表招聘
  • 免费建网站系统百度统计流量研究院
  • 网络媒体设计与制作南宁seo推广公司