G6 icon indicating copy to clipboard operation
G6 copied to clipboard

mode切换click-select错误

Open AF-Klara opened this issue 2 years ago • 1 comments

问题描述

1.click-slecte在mode切换时,对应的节点状态不准确 2.另想问下对v2与v3之间是否存在不兼容的情况,v2可以触发changeData事件,v3会报某某属性为null(相同的代码,在v2模板中好使,v3拷贝过去就不行)

重现链接

https://g6.antv.vision/zh/examples/net/forceDirected#basicFA2

重现步骤

1.当没有进行切换mode时,click-select,可以拿到点击节点的选中状态, image

2.切换mode为create-edge时,创建边,并在创建边之后切换mode为default,节点的选中状态错误 image

3.添加边的时候,节点的选中状态好像就是不对

预期行为

希望mode切换时,click-select依然能拿到对应的选中状态

平台

  • 操作系统: [macOS, Windows, Linux, React Native ...]
  • 网页浏览器: [Google Chrome, Safari, Firefox]
  • G6 版本: [4.5.1 ... ]

屏幕截图或视频(可选)

附: import G6 from '@antv/g6';

const container = document.getElementById('container'); const btnD = document.createElement('button'); const btnC = document.createElement('button'); btnD.innerText = 'default' btnC.innerText = 'create-edge' btnD.onclick = function(){ console.log(graph,'graph') graph.setMode('default') } btnC.onclick = function(){ graph.setMode('addEdge') } container.appendChild(btnD); container.appendChild(btnC); const width = container.scrollWidth; const height = container.scrollHeight || 500; const graph = new G6.Graph({ container: 'container', width, height, modes: { default: ['zoom-canvas','click-select', 'drag-canvas', 'drag-node'], addEdge:[ 'create-edge' ] }, layout: { type: 'forceAtlas2', preventOverlap: true, kr: 10, center: [250, 250], }, defaultNode: { size: 20, }, });

const data = {
  nodes: [
    {
      "id": "Myriel"
    },
    {
      "id": "Napoleon"
    },
  ],
  edges:[]
}
data.nodes.forEach(node => {
  node.x = Math.random() * 1;
});
graph.on('node:click', e => {
  const {item} = e
  const state = item.hasState('selected')
  console.log(state,'state')
  // graph.fitView()
})
graph.data(data);
graph.render();

if (typeof window !== 'undefined') window.onresize = () => { if (!graph || graph.get('destroyed')) return; if (!container || !container.scrollWidth || !container.scrollHeight) return; graph.changeSize(container.scrollWidth, container.scrollHeight); };

补充说明(可选)

No response

AF-Klara avatar Aug 24 '22 07:08 AF-Klara

我看例子表现是正确的,没感觉有什么问题啊?

2.另想问下对v2与v3之间是否存在不兼容的情况,v2可以触发changeData事件,v3会报某某属性为null(相同的代码,在v2模板中好使,v3拷贝过去就不行)

请提供在线复现 demo

Yanyan-Wang avatar Sep 02 '22 10:09 Yanyan-Wang

尊敬的用户,您好。我们很重视您的 issue,但由于长时间没有答复,我们暂时认为这个问题已经解决。如果还有任何问题,请随时根据 issue 模版再开启新的 issue。

Yanyan-Wang avatar Nov 29 '22 09:11 Yanyan-Wang