【问题标题】:Redraw Highcharts Organization Chart after collapse折叠后重绘 Highcharts 组织结构图
【发布时间】:2021-11-04 23:41:27
【问题描述】:

我正在使用 Highcharts 创建组织结构图,单击时可以折叠每个节点,如提供的示例:http://jsfiddle.net/vegaelce/83uktasc/

它运作良好,但如果可以在节点折叠/展开后“重绘”图表(以优化剩余空间并重新对齐节点),那就更好了。 我试过没有成功:

chart.redraw();

你知道怎么做吗?

提前致谢

【问题讨论】:

    标签: highcharts collapse organization redraw


    【解决方案1】:

    您需要设置新数据来实现所需的功能。节点在 svg 级别隐藏,在重绘时不会被忽略。

    function getData(to) {
        const data = [
            ...
        ];
    
        if (to) {
            const filters = [to];
            return data.filter(el => {
                const matched = filters.find(filter => filter === el[0]);
    
                if (matched) {
                    filters.push(el[1]);
                }
    
                return !matched;
            });
        }
        return data;
    }
    
    Highcharts.chart('container', {
        ...,
        plotOptions: {
            series: {
                point: {
                    events: {
                        click: function() {
                            if (this.linksFrom.length) {
                                this.series.setData(getData(this.title || this.name));
                            } else {
                                this.series.setData(getData());
                            }
                        }
                    }
                }
            }
        }
    });
    

    现场演示: http://jsfiddle.net/BlackLabel/5njf0cwq/

    API 参考: https://api.highcharts.com/class-reference/Highcharts.Series#setData

    【讨论】:

      猜你喜欢
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 2020-10-03
      • 2021-11-05
      相关资源
      最近更新 更多