echarts tree 同一层级点击只能展示一个节点的事件怎么写

clipboard.png
因为数据太多,展开的数据容易折叠,求教同一层级点击只能展示一个节点的事件怎么写

阅读 4.4k
1 个回答

首先,你可以监听echarts的节点点击事件,使用option中的series配置项的emphasis来设置点击节点的样式,然后使用expandAndCollapse方法来展开或折叠节点。

下面是一个示例代码:

// 监听点击事件
myChart.on('click', function (params) {
  // 获取点击的节点的层级和父节点
  var level = params.data.depth;
  var parent = params.data.parent;

  // 遍历所有节点
  myChart.getOption().series[0].data.forEach(function (node) {
    // 当节点的层级和父节点与点击的节点相同,则展开;否则折叠
    if (node.depth === level && node.parent === parent) {
      node.emphasis = true; // 设置点击节点的样式
    } else {
      node.emphasis = false; // 设置其他节点的样式
    }
  });

  // 调用expandAndCollapse方法展开或折叠节点
  myChart.dispatchAction({
    type: 'treeExpandAndCollapse',
    seriesIndex: 0,
    dataIndex: params.dataIndex
  });

  // 更新图表
  myChart.setOption(myChart.getOption());
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题