{"expireTime":9007200828528711000,"key":"transformer-remark-markdown-html-dfaaa977f2cc89471faed0f01f708dd6-gatsby-remark-prettiergatsby-remark-prismjsgatsby-remark-external-linksgatsby-remark-autolink-headersgatsby-remark-reading-time-","val":"<h2 id=\"什么是-behavior\"><a href=\"#%E4%BB%80%E4%B9%88%E6%98%AF-behavior\" aria-label=\"什么是 behavior permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>什么是 Behavior</h2>\n<p>Behavior 是 G6 提供的定义图上交互事件的机制。它与<a href=\"https://www.yuque.com/antv/g6/g6-mode\" target=\"_self\" rel=\"nofollow\">交互模式 Mode</a> 搭配使用，如何将下文所述各种 Behavior 配置到图上，见 <a href=\"https://www.yuque.com/antv/g6/g6-mode\" target=\"_self\" rel=\"nofollow\">交互模式</a>。</p>\n<h2 id=\"内置-behavior\"><a href=\"#%E5%86%85%E7%BD%AE-behavior\" aria-label=\"内置 behavior permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>内置 Behavior</h2>\n<p>理论上说 G6 上的所有基础图形、Item（节点/边）都能通过事件来进行操作，考虑到通用性， G6目前共提供了以下9个内置的 Behavior。</p>\n<h3 id=\"drag-canvas\"><a href=\"#drag-canvas\" aria-label=\"drag canvas permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>drag-canvas</h3>\n<ul>\n<li>含义：拖拽画布；</li>\n<li><code class=\"language-text\">type: &#39;drag-canvas&#39;</code>；</li>\n<li><code class=\"language-text\">direction</code>: 允许拖拽方向，支持<code class=\"language-text\">&#39;x&#39;</code>， <code class=\"language-text\">&#39;y&#39;</code>，<code class=\"language-text\">&#39;both&#39;</code>，默认方向为 <code class=\"language-text\">&#39;both&#39;</code>。</li>\n</ul>\n<p><strong>默认配置</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'drag-canvas'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>默认配置下，可以在 x 和 y 两个方向上拖动画布。</p>\n<p><strong>配置参数</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'drag-canvas'</span><span class=\"token punctuation\">,</span>\n        direction<span class=\"token punctuation\">:</span> <span class=\"token string\">'x'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>此时只能在 x 方向上面拖动，y 方向上不允许拖动。<br /><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570778658995-88e2bf4e-e201-43a0-9ffd-15ceadc8334e.gif#align=left&#x26;display=inline&#x26;height=333&#x26;name=3.gif&#x26;originHeight=517&#x26;originWidth=783&#x26;search=&#x26;size=669012&#x26;status=done&#x26;width=504\" alt=\"3.gif\"></p>\n<h3 id=\"zoom-canvas\"><a href=\"#zoom-canvas\" aria-label=\"zoom canvas permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>zoom-canvas</h3>\n<ul>\n<li>含义：缩放画布；</li>\n<li><code class=\"language-text\">type: &#39;zoom-canvas&#39;</code>；</li>\n<li><code class=\"language-text\">sensitivity</code>: 缩放灵敏度，支持 1-10 的数值，默认灵敏度为 5。</li>\n</ul>\n<p><strong>提示：若要限定缩放尺寸，请在 graph 上设置 **`</strong>minZoom<strong>`</strong> 和 <strong>`</strong>maxZoom<strong>`</strong>。**</p>\n<h3 id=\"drag-node\"><a href=\"#drag-node\" aria-label=\"drag node permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>drag-node</h3>\n<ul>\n<li>含义：拖拽节点；</li>\n<li><code class=\"language-text\">type: &#39;drag-node&#39;</code>；</li>\n<li><code class=\"language-text\">delegateStyle</code>: 节点拖拽时的绘图属性，默认为 <code class=\"language-text\">{ strokeOpacity: 0.6, fillOpacity: 0.6 }</code>；</li>\n<li><code class=\"language-text\">updateEdge</code>: 是否在拖拽节点时更新所有与之相连的边，默认为 <code class=\"language-text\">true</code> 。</li>\n<li>3.1.2 <code class=\"language-text\">enableDelegate</code>：拖动节点过程中是否启用 <code class=\"language-text\">delegate</code>，即在拖动过程中是否使用方框代替元素的直接移动，效果区别见下面两个动图。默认值为 <code class=\"language-text\">false</code>。</li>\n</ul>\n<p><strong>默认配置</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'drag-node'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570777651736-e68e2d92-eabe-4b58-bc39-66a6cfbd6cf5.gif#align=left&#x26;display=inline&#x26;height=374&#x26;name=3.gif&#x26;originHeight=517&#x26;originWidth=783&#x26;search=&#x26;size=149678&#x26;status=done&#x26;width=567\" alt=\"3.gif\"></p>\n<p><strong>启用</strong> <code class=\"language-text\">delegate</code></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'drag-node'</span><span class=\"token punctuation\">,</span>\n        enableDelegate<span class=\"token punctuation\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570778113574-f65eeb6b-4df4-4db4-a4d3-5cf2141607f3.gif#align=left&#x26;display=inline&#x26;height=279&#x26;name=3.gif&#x26;originHeight=517&#x26;originWidth=783&#x26;search=&#x26;size=219983&#x26;status=done&#x26;width=422\" alt=\"3.gif\"></p>\n<h3 id=\"click-select\"><a href=\"#click-select\" aria-label=\"click select permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>click-select</h3>\n<ul>\n<li>含义：点击选中节点，再次点击节点或点击 Canvas 取消选中状态；</li>\n<li><code class=\"language-text\">type: &#39;click-select&#39;</code>；</li>\n<li><code class=\"language-text\">multiple</code>: 是否允许多选，默认为 <code class=\"language-text\">true</code>，当设置为 <code class=\"language-text\">false</code>，表示不允许多选，此时 <code class=\"language-text\">trigger</code> 参数无效。</li>\n<li>3.1.2 <code class=\"language-text\">trigger</code>: 指定按住哪个键进行多选，默认为 shift，按住 Shift 键多选，用户可配置 shift、ctrl、alt；</li>\n</ul>\n<p><strong>默认配置</strong><br />**</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'click-select'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>按住 <strong><code class=\"language-text\">Shift</code></strong> 键可多选。<br /><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570778352084-ca8b1694-0e10-4dfa-b69e-2fc35130b9a9.gif#align=left&#x26;display=inline&#x26;height=517&#x26;name=3.gif&#x26;originHeight=517&#x26;originWidth=783&#x26;search=&#x26;size=48383&#x26;status=done&#x26;width=783\" alt=\"3.gif\"></p>\n<p><strong>配置参数</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'click-select'</span><span class=\"token punctuation\">,</span>\n        trigger<span class=\"token punctuation\">:</span> <span class=\"token string\">'ctrl'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>以上配置中，用户可按住 <strong>Ctrl</strong> 键进行多选，也可以配置 <strong>Alt</strong> 键。当配置了 <code class=\"language-text\">multiple</code> 参数为 <code class=\"language-text\">false</code>，则表示不允许多谢，此时 <code class=\"language-text\">trigger</code> 参数无效。</p>\n<h3 id=\"tooltip\"><a href=\"#tooltip\" aria-label=\"tooltip permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>tooltip</h3>\n<ul>\n<li>含义：节点文本提示；</li>\n<li><code class=\"language-text\">type: &#39;tooltip&#39;</code>；</li>\n<li>\n<p><code class=\"language-text\">formatText(model)</code> 格式化函数，可以返回文本或者 HTML；</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  container<span class=\"token punctuation\">:</span> <span class=\"token string\">'mountNode'</span><span class=\"token punctuation\">,</span>\n  width<span class=\"token punctuation\">:</span> <span class=\"token number\">500</span><span class=\"token punctuation\">,</span>\n  height<span class=\"token punctuation\">:</span> <span class=\"token number\">500</span><span class=\"token punctuation\">,</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'tooltip'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token function\">formatText</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">model</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token keyword\">return</span> model<span class=\"token punctuation\">.</span>xxx<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n</li>\n</ul>\n<p><strong>提示：由于 G6 没有内置任何 tooltip 的样式，用户需要自己定义样式，例如：</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.g6-tooltip</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 10px 6px<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">color</span><span class=\"token punctuation\">:</span> #444<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> <span class=\"token function\">rgba</span><span class=\"token punctuation\">(</span>255<span class=\"token punctuation\">,</span> 255<span class=\"token punctuation\">,</span> 255<span class=\"token punctuation\">,</span> 0.9<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token property\">border</span><span class=\"token punctuation\">:</span> 1px solid #e2e2e2<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">border-radius</span><span class=\"token punctuation\">:</span> 4px<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n</code></pre></div>\n<h3 id=\"edge-tooltip\"><a href=\"#edge-tooltip\" aria-label=\"edge tooltip permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>edge-tooltip</h3>\n<p>使用方式基本与 tooltip 相同，但是移到边时触发。主要是为了将两个交互区分开，以满足用户边与节点的提示样式或 HTML 结构不同，以及不需要在事件中去区分是节点事件还是边事件等。</p>\n<ul>\n<li>含义：边文本提示；</li>\n<li><code class=\"language-text\">type: &#39;edge-tooltip&#39;</code>；</li>\n<li><code class=\"language-text\">formatText(model)</code> 格式化函数，可以返回文本或者 HTML。</li>\n</ul>\n<h3 id=\"activate-relations\"><a href=\"#activate-relations\" aria-label=\"activate relations permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>activate-relations</h3>\n<ul>\n<li>含义：当鼠标移到某节点时，突出显示该节点以及与其直接关联的节点和连线；</li>\n<li><code class=\"language-text\">type: &#39;activate-relations&#39;</code>；</li>\n<li>\n<p>参数：</p>\n<ul>\n<li><code class=\"language-text\">trigger: &#39;mouseenter&#39;</code>, 可以是 <code class=\"language-text\">mousenter</code> , 鼠标移入时触发；也可以是 <code class=\"language-text\">click</code> ，鼠标点击时触发；</li>\n<li><code class=\"language-text\">activeState: &#39;active&#39;</code>, 活跃节点状态；当行为被触发，需要被突出显示的节点和边都会附带此状态，默认值为 <code class=\"language-text\">active</code>；可以与 graph 实例的 <code class=\"language-text\">nodeStyle</code> 和 <code class=\"language-text\">edgeStyle</code> 结合实现丰富的视觉效果。</li>\n<li><code class=\"language-text\">inactiveState: &#39;inactive&#39;</code>，非活跃节点状态，不需要被突出显示的节点和边都会附带此状态，默认值为 <code class=\"language-text\">inactive</code>；可以与 graph 实例的 <code class=\"language-text\">nodeStyle</code> 和 <code class=\"language-text\">edgeStyle</code> 结合实现丰富的视觉效果；</li>\n<li>3.1.2 <code class=\"language-text\">resetSelected</code>：高亮相连节点时是否重置已经选中的节点，默认为false，即选中的节点状态不会被 <code class=\"language-text\">activate-relations</code> 覆盖。</li>\n</ul>\n</li>\n</ul>\n<p><br /><strong>默认配置</strong><br /></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'activate-relations'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>默认情况下，选中的节点状态，在操作完以后仍然会保持选中状态。<br /><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570783971145-6588e49f-79d7-40b4-aa66-3308f060f2b4.gif#align=left&#x26;display=inline&#x26;height=542&#x26;name=3.gif&#x26;originHeight=542&#x26;originWidth=610&#x26;search=&#x26;size=358920&#x26;status=done&#x26;width=610\" alt=\"3.gif\"></p>\n<p><strong>配置参数</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'activate-relations'</span><span class=\"token punctuation\">,</span>\n        resetSelected<span class=\"token punctuation\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>配置 <code class=\"language-text\">resetSelected</code> 参数为 <code class=\"language-text\">true</code> 后，交互后会重置节点的选择状态。</p>\n<p><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570784093933-beb50a11-eef7-4076-a05c-5723be7e7e1d.gif#align=left&#x26;display=inline&#x26;height=542&#x26;name=3.gif&#x26;originHeight=542&#x26;originWidth=610&#x26;search=&#x26;size=142174&#x26;status=done&#x26;width=610\" alt=\"3.gif\"></p>\n<h3 id=\"brush-select\"><a href=\"#brush-select\" aria-label=\"brush select permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>brush-select</h3>\n<ul>\n<li>含义：拖动框选节点；</li>\n<li><code class=\"language-text\">type: &#39;brush-select&#39;</code>；</li>\n<li>\n<p>参数：</p>\n<ul>\n<li><code class=\"language-text\">brushStyle</code>：拖动框选框的样式；</li>\n<li><code class=\"language-text\">onSelect(nodes)</code>：选中节点时的回调，参数 <code class=\"language-text\">nodes</code> 表示选中的节点；</li>\n<li><code class=\"language-text\">onDeselect(nodes)</code>：取消选中节点时的回调，参数 <code class=\"language-text\">nodes</code> 表示取消选中的节点；</li>\n<li><code class=\"language-text\">brushStyle</code>：框选时样式的配置项，包括 <code class=\"language-text\">fill</code>、<code class=\"language-text\">fillOpacity</code>、<code class=\"language-text\">stroke</code> 和 <code class=\"language-text\">lineWidth</code> 四个属性；</li>\n<li><code class=\"language-text\">selectedState</code>：选中的状态，默认值为 <code class=\"language-text\">&#39;selected&#39;</code>；</li>\n<li><code class=\"language-text\">includeEdges</code>：框选过程中是否选中边，默认为 <code class=\"language-text\">true</code>，用户配置为 <code class=\"language-text\">false</code> 时，则不选中边；</li>\n<li>3.1.2 <code class=\"language-text\">trigger</code>：触发框选的动作，默认为 <code class=\"language-text\">&#39;shift&#39;</code>，即用户按住 Shift 键拖动就可以进行框选操作，可配置的的选项为: <code class=\"language-text\">&#39;shift&#39;</code>、<code class=\"language-text\">&#39;ctrl&#39; / &#39;control&#39;</code>、<code class=\"language-text\">&#39;alt&#39;</code> 和 <code class=\"language-text\">&#39;drag&#39;</code> ，不区分大小写：</li>\n<li><code class=\"language-text\">&#39;shift&#39;</code>：按住 Shift 键进行拖动框选；</li>\n<li><code class=\"language-text\">&#39;ctrl&#39; / &#39;control&#39;</code>：按住 Ctrl 键进行拖动框选；</li>\n<li><code class=\"language-text\">&#39;alt&#39;</code>：按住 Alt 键进行拖动框选；</li>\n<li>风险 <code class=\"language-text\">&#39;drag&#39;</code>：不需要按任何键，进行拖动框选，如果同时配置了 <code class=\"language-text\">drag-canvas</code>，则会与该选项冲突。</li>\n</ul>\n</li>\n</ul>\n<p><strong>默认配置</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'brush-select'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>默认情况下，按住 Shift 键进行框选，选中节点的同时，也会选中边。<br /><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570779252901-1efaccf6-a268-47a6-8db9-f63c82d355fe.gif#align=left&#x26;display=inline&#x26;height=542&#x26;name=3.gif&#x26;originHeight=542&#x26;originWidth=610&#x26;search=&#x26;size=188323&#x26;status=done&#x26;width=610\" alt=\"3.gif\"></p>\n<p><strong>配置参数</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'brush-select'</span><span class=\"token punctuation\">,</span>\n        trigger<span class=\"token punctuation\">:</span> <span class=\"token string\">'ctrl'</span><span class=\"token punctuation\">,</span>\n        includeEdges<span class=\"token punctuation\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>上面的配置，按住 Ctrl 键，进行框选，框选过程中不会选中边。<br /><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570779434063-6bf4fe39-88c8-44c2-a25d-6b8980db4a39.gif#align=left&#x26;display=inline&#x26;height=370&#x26;name=3.gif&#x26;originHeight=542&#x26;originWidth=610&#x26;search=&#x26;size=115882&#x26;status=done&#x26;width=416\" alt=\"3.gif\"></p>\n<p><strong>配置冲突</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">'drag-canvas'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'brush-select'</span><span class=\"token punctuation\">,</span>\n        trigger<span class=\"token punctuation\">:</span> <span class=\"token string\">'drag'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>当用户配置 <code class=\"language-text\">brush-select</code> 的 <code class=\"language-text\">trigger</code> 为 <code class=\"language-text\">drag</code>，同时又配置了 <code class=\"language-text\">drag-canvas</code> 时，在交互上面会出现冲突的情况。<br /><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570779665370-63bb8a65-f4e3-4a05-8c42-21b2e79b6b76.gif#align=left&#x26;display=inline&#x26;height=412&#x26;name=3.gif&#x26;originHeight=542&#x26;originWidth=610&#x26;search=&#x26;size=559913&#x26;status=done&#x26;width=464\" alt=\"3.gif\"></p>\n<p>可以看到，在拖动过程中也出现了框选的情况，这种情况很显然不是我们期望的效果，除过使用 <code class=\"language-text\">brush-select</code>的 <code class=\"language-text\">trigger</code> 参数避免这种冲突外，我们还可以通过下面的方式来实现：</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'drag-canvas'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    brush<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'brush-select'</span><span class=\"token punctuation\">,</span>\n        trigger<span class=\"token punctuation\">:</span> <span class=\"token string\">'drag'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p>上面这种方式是使用不同的 mode 来区分，mode 可以达到使用相同交互动作而产生不同的效果，更多关于 mode 的内容请参数 <a href=\"./mode\">G6 中的 Mode 文档</a>。</p>\n<p>使用 mode 区分，默认情况下使用的是 <code class=\"language-text\">drag-canvas</code>，但用户需要切换到框选时，通过 <code class=\"language-text\">graph.setModel(&#39;brush&#39;)</code> 即可实现，此时同样的交互产生的就是框选的效果。</p>\n<h3 id=\"collapse-expand\"><a href=\"#collapse-expand\" aria-label=\"collapse expand permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>collapse-expand</h3>\n<ul>\n<li>含义：只适用于树图，展开或收起节点；</li>\n<li><code class=\"language-text\">type: &#39;collapse-expand&#39;</code>；</li>\n<li>\n<p>参数：</p>\n<ul>\n<li><code class=\"language-text\">trigger</code>：收起和展开树图的方式，支持<code class=\"language-text\">click</code>和<code class=\"language-text\">dblclick</code>两种方式，默认为<code class=\"language-text\">click</code>；</li>\n<li><code class=\"language-text\">onChange</code>：收起或展开的回调函数，警告 <code class=\"language-text\">3.1.2</code>版本中将移除。</li>\n</ul>\n</li>\n</ul>\n<p><strong>用法</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>TreeGraph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'collapse-expand'</span><span class=\"token punctuation\">,</span>\n        trigger<span class=\"token punctuation\">:</span> <span class=\"token string\">'click'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token function\">onChange</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">item<span class=\"token punctuation\">,</span> collapsed</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token keyword\">const</span> data <span class=\"token operator\">=</span> item<span class=\"token punctuation\">.</span><span class=\"token function\">get</span><span class=\"token punctuation\">(</span><span class=\"token string\">'model'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>data<span class=\"token punctuation\">;</span>\n          data<span class=\"token punctuation\">.</span>collapsed <span class=\"token operator\">=</span> collapsed<span class=\"token punctuation\">;</span>\n          <span class=\"token keyword\">return</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">'drag-canvas'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">'zoom-canvas'</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<h3 id=\"collapse-expand-group\"><a href=\"#collapse-expand-group\" aria-label=\"collapse expand group permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>collapse-expand-group</h3>\n<ul>\n<li>含义：收起和展开群组；</li>\n<li><code class=\"language-text\">type：&#39;collapse-expand-group&#39;</code></li>\n<li>\n<p>参数：</p>\n<ul>\n<li>3.1.2 trigger：收起和展开节点分组的方式，支持<code class=\"language-text\">click</code>和<code class=\"language-text\">dblclick</code>两种方式，默认为<code class=\"language-text\">dblclick</code></li>\n</ul>\n</li>\n</ul>\n<p><strong>默认配置</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'collapse-expand-group'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p><strong>配置参数</strong><br />配置 <code class=\"language-text\">trigger</code> 参数为 <strong><code class=\"language-text\">click</code></strong> 后，单击节点分组即可收起或展开分组。</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        type<span class=\"token punctuation\">:</span> <span class=\"token string\">'collapse-expand-group'</span><span class=\"token punctuation\">,</span>\n        trigger<span class=\"token punctuation\">:</span> <span class=\"token string\">'click'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<p><img src=\"https://cdn.nlark.com/yuque/0/2019/gif/244306/1570785874686-a7333f95-e8d3-45a7-873e-8ee56c3b4b21.gif#align=left&#x26;display=inline&#x26;height=542&#x26;name=3.gif&#x26;originHeight=542&#x26;originWidth=610&#x26;search=&#x26;size=57719&#x26;status=done&#x26;width=610\" alt=\"3.gif\"></p>\n<h3 id=\"drag-group\"><a href=\"#drag-group\" aria-label=\"drag group permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>drag-group</h3>\n<ul>\n<li>含义：拖动节点分组；</li>\n<li><code class=\"language-text\">type: &#39;drag-group&#39;</code>；</li>\n<li>\n<p>参数：</p>\n<ul>\n<li><code class=\"language-text\">delegateStyle</code>：拖动节点分组时 <code class=\"language-text\">delegate</code> 的样式。</li>\n</ul>\n</li>\n</ul>\n<p><strong>默认配置</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'drag-group'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>\n<h3 id=\"drag-node-with-group\"><a href=\"#drag-node-with-group\" aria-label=\"drag node with group permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>drag-node-with-group</h3>\n<ul>\n<li>含义：拖动节点分组中的节点；</li>\n<li><code class=\"language-text\">type：&#39;drag-node-with-group&#39;</code>；</li>\n<li>\n<p>参数：</p>\n<ul>\n<li><code class=\"language-text\">delegateStyle</code>：拖动节点分组时 <code class=\"language-text\">delegate</code> 的样式；</li>\n<li><code class=\"language-text\">maxMultiple</code>：</li>\n<li><code class=\"language-text\">minMultiple</code>。</li>\n</ul>\n</li>\n</ul>\n<p><strong>默认配置</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> graph <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">G6<span class=\"token punctuation\">.</span>Graph</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  modes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'drag-node-with-group'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre></div>"}