2.0 相比 1.0 版本,对 G6 的能力进行了全面的支持与升级:注册机制,布局机制,元素样式等和 G6 保持一致,支持树图,以及更好的组件化方案
//v1<Graphin data={data} layout={{ name: 'grid', options: options }} />//v2<Graphin data={data} layout={{ name: 'grid', ...options }} />
const data = {nodes: [{id: 'node-1',// 样式字段style: {label: {value: 'node-1-label',},},// 状态字段status: {selected: true,},},],};<Graphin data={data} />;
交互行为,之前在 G6 中需要通过 modes 引入,在 Graphin 中支持组件化引入,同时支持组件属性配置,从而完成数据驱动。在升级 V2 版本,这块不用感知
Graphin 中全面移除 extend 接口,之前 nodeShape,icon,layout 可以通过注册接口实现。extend.marker 彻底移除
// v1<Graphin extend={{ nodeShape: renderNodeShape }} />;// v2Graphin.registerNode(renderNodeShape);
// layout<Graphin extend={{ nodeShape: customLayout }} />;// v2Graphin.registerLayout(customLayout);
// layout<Graphin extend={{ icon: customIconFunction }} />;// v2Graphin.registerFontFamily(iconloader); // 详情查看 自定义 icon
和 G6 的注册机制完全保持一致
// 注册节点,详情参考 https://g6.antv.vision/zh/docs/api/registerItem#g6registernodenodename-options-extendednodenameGraphin.registerNode();// 注册边,详情参考 https://g6.antv.vision/zh/docs/api/registerItem#g6registeredgeedgename-options-extendededgenameGraphin.registerEdge();// 注册Combo,详情参考 https://g6.antv.vision/zh/docs/api/registerItem#g6registercombocomboname-options-extendedcombonameGraphin.registerCombo();// 注册布局,详情参考 https://g6.antv.vision/zh/docs/api/registerLayout#g6registerlayoutlayoutname-layoutGraphin.registerLayout();// 注册行为,详情参考 https://g6.antv.vision/zh/docs/api/BehaviorGraphin.registerBehavior();