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

浙江大成建设集团有限公司网站网站设计背景图片

浙江大成建设集团有限公司网站,网站设计背景图片,网络组建与维护实训报告,个人网站命名技巧1.问题 ReactFlow的ReactFlow实例有些事件我们在不同的状态下并不需要,而且有时候传参会出现其它渲染效果,比如只读状态下我们不想要拖拉拽onEdgesChange连线重连或删除的功能。 2.思路 事件名称类型默认值onEdgesChange(changes: EdgeChange[]) >…

1.问题

ReactFlow的ReactFlow实例有些事件我们在不同的状态下并不需要,而且有时候传参会出现其它渲染效果,比如只读状态下我们不想要拖拉拽onEdgesChange连线重连或删除的功能。
请添加图片描述

2.思路

事件名称类型默认值
onEdgesChange(changes: EdgeChange[]) => void
使用这个方法来处理处理连线重新选择连接或者删除连线。
               

ReactFlow实例如果没有传监听事件方法,父节点就不会触发事件,那么我们试着切换传参处理。通过传参undefined,成功的没有触发对应事件,同时也没有出现渲染可拖拉拽连线的标志。

3.解决方案

import React, { useCallback, useRef, useState } from 'react';
import ReactFlow, { useNodesState, useEdgesState, Controls, updateEdge, addEdge } from 'reactflow';
import 'reactflow/dist/style.css';const initialNodes = [{id: '1',type: 'input',data: { label: 'Node A' },position: { x: 250, y: 0 },},{id: '2',type: 'output',data: { label: 'Node B' },position: { x: 250, y: 200 },}
];const initialEdges = [{ id: 'e1-2', source: '1', target: '2', label: 'updatable edge' }];const DeleteEdgeDrop = () => {const edgeUpdateSuccessful = useRef(true);const [nodes, , onNodesChange] = useNodesState(initialNodes);const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);const onConnect = useCallback((params) => setEdges((els) => addEdge(params, els)), []);//	用于控制状态const [readonly, setReadonly] = useState(true);const onEdgeUpdateStart = useCallback(() => {edgeUpdateSuccessful.current = false;}, []);const onEdgeUpdate = useCallback((oldEdge, newConnection) => {edgeUpdateSuccessful.current = true;setEdges((els) => updateEdge(oldEdge, newConnection, els));}, []);const onEdgeUpdateEnd = useCallback((_, edge) => {if (!edgeUpdateSuccessful.current) {setEdges((eds) => eds.filter((e) => e.id !== edge.id));}edgeUpdateSuccessful.current = true;}, []);return (<ReactFlownodes={nodes}edges={edges}onNodesChange={onNodesChange}onEdgesChange={onEdgesChange}snapToGrid//	这里用条件语句切换传参//	如果不需要传参,只能传undefined!!!onEdgeUpdate={!readonly? onEdgeUpdate : undefined}onEdgeUpdateStart={onEdgeUpdateStart}onEdgeUpdateEnd={onEdgeUpdateEnd}onConnect={onConnect}fitViewattributionPosition="top-right"><Controls /></ReactFlow>);
};export default DeleteEdgeDrop;

4.结果

事件传参传undefined成功的取消了事件以及渲染效果。综上所述,在ReactFlow的ReactFlow实例事件可通过传参undefined取消传参或切换事件传参。
请添加图片描述

http://www.yayakq.cn/news/849864/

相关文章:

  • 国外美容院网站网站建设怎么学习
  • 新乡网站建设策划备案中的网站
  • wordpress更改站点地址wordpress固定连接跳转
  • 网站定制扬州网站建设公元国际
  • 关于网站建设培训哪里找做网站的
  • 做设计那个素材网站最好网页怎么截图
  • 微信公众号私自建设电影网站企业查询天眼查在线查
  • 广州市手机网站建设深圳营销型网站建设-龙华信科
  • 做玉的网站wordpress注册直接显示密码
  • 可信赖的昆明网站建设手机开发网站开发
  • 大专学网站开发网站打开慢的解决方法
  • sns网站社区需求分析文档怎么创建企业邮箱
  • logo设计商标设计关键词排名优化官网
  • 做图片的网站网店管家erp
  • 百度云盘网站开发wordpress的安全错误
  • 物流网站毕业设计论文招聘类网站如何做
  • 做一个网站的步骤站牛网是做什么的
  • 做网站后台系统的规范抚顺少儿编程哪家好
  • 柳城企业网站建设公司江西省赣州市崇义县
  • 做财经比较好的网站有哪些河北建筑培训网官网
  • 江苏建设网站酒店装修合同范本小程序电商系统开发
  • 集团门户网站建设企业a963设计网作品
  • 推广网站可以做跳转吗响应式网站要多久
  • 网站设计的公司概况简介小程序推广平台
  • 一般建设网站的常见问题wordpress多形式
  • 为什么多个网站域名有同个网站备案做网站和做网页一样吗
  • 网站维护公告模板织梦网站怎么更换模板
  • 做竞价的网站需要做外部链接吗网站开发合同编号如何编写
  • 如何用天地图做网站WordPress D8 5.1
  • 如何建设网站兴田德润实惠国家信用信息公示官网