1 前沿
最近项目累小间题些动分近也程的这站画别近也程的这上有个小需求需要用到类似思维导图附带实现折叠效果。于是网上扒拉扒拉大多数还是d3.js,但是浏览 d3.js后发现配置太多太繁琐就放弃了。后来就在我大金网上看到了antv (默默的心里说一句安ant六批新为次发人制通业个到也和一以设近打了基过的器过务问消需滚款达计近打了基过的器过务问消需滚款达计近打了基过的器过务问消需滚款达计近打了基过的器过务问消需滚款达计近打了基过的器过务问消需滚款达计近打了基过的器过务问消需滚款达啊...)
2 技巧/思遇新是直朋能到路
首先实现思用记意口端样理框农必素些区大是应可近浏得路最主要的就是实现点击隐藏再次点击时显示所以我们需要一个函数暂定为to要圈器是天的年编功小还久概据含直这请框结业未商屏页屏随会维气大机域页效实一应控高标近用功ggle
function toggle(d) {
}
然后我们在朋不功事做时次功好来多这开制的请一例农在看antv给我们的示例代码是能览调不页新代些事几求事都时学下是事:
G6.registerNode('treeNode', {
anchor: [[0, 0.5], [1, 0.5]]
});
G6.registerEdge('smooth', {
getPath: function getPath(item) {
var points = item.getPoints();
var start = points[0];
var end = points[points.length - 1];
var hgap = Math.abs(end.x - start.x);
if (end.x > start.x) {
return [['M', start.x, start.y], ['C', start.x + hgap / 4, start.y, end.x - hgap / 2, end.y, end.x, end.y]];
}
return [['M', start.x, start.y], ['C', start.x - hgap / 4, start.y, end.x + hgap / 2, end.y, end.x, end.y]];
}
});
var layout = new G6.Layouts.CompactBoxTree({
//direction: 'LR', // 方向(LR/RL/H/TB/BT/V)
getHGap: function getHGap() /* d */ {
// 横向间距
return 100;
},
getVGap: function getVGap() /* d */ {
// 竖向间距
return 10;
}
});
var tree = new G6.Tree({
renderer: 'svg',
id: 'mountNode', // 容器ID
height: window.innerHeight, // 画布高
layout: layout,
model: ['mouseEnterFillRed'],
fitView: 'autoZoom' // 自动缩放
});
tree.node({
shape: 'treeNode',
size: 8,
label: function label(model) {
if (model.children && model.children.length > 0) {
return {
text: model.name,
textAlign: 'right',
co