• echarts tree 点击动态添加子集实例




    下边是echarts官网的例子 我只是在底部加了一个点击事件以及点击的时候动态添加子集
    效果图:



    1
    myChart.showLoading(); 2 $.get(ROOT_PATH + 'data/asset/data/flare.json', function (data) { 3 myChart.hideLoading(); 4 5 echarts.util.each(data.children, function (datum, index) { 6 index % 2 === 0 && (datum.collapsed = true); 7 }); //上面这部分用的时候可以去掉,至于json数据可以用自己的,格式{name:",children:[{name:'',children[]}]},根据自己实际情况添加数据,也可在里面添加value用于判断用,
    用这个实例之前必须先获取dom节点,绑定id之后设置一个变量例如:

            这里的myChart可以用this.echartTreeBj代替

      9     myChart.setOption(option = {
     10         tooltip: {
     11             trigger: 'item',
     12             triggerOn: 'mousemove'
     13         },
     14         series: [
     15             {
     16                 type: 'tree',
     17 
     18                 data: [data],
     19 
     20                 top: '1%',
     21                 left: '7%',
     22                 bottom: '1%',
     23                 right: '20%',
     24 
     25                 symbolSize: 7,
     26 
     27                 label: {
     28                     normal: {
     29                         position: 'left',
     30                         verticalAlign: 'middle',
     31                         align: 'right',
     32                         fontSize: 9
     33                     }
     34                 },
     35 
     36                 leaves: {
     37                     label: {
     38                         normal: {
     39                             position: 'right',
     40                             verticalAlign: 'middle',
     41                             align: 'left'
     42                         }
     43                     }
     44                 },
     45 
     46                 expandAndCollapse: true,
     47                 animationDuration: 550,
     48                 animationDurationUpdate: 750
     49             }
     50         ]
     51     });
     52 });
     53 myChart.on("click", function(param){
     54     console.log(param)
     55      if (typeof param.seriesIndex == 'undefined') {
     56                     return;
     57             }
     58         if (param.type == 'click') {
     59              if (!param.data.hasChild) {
     60                  //param.data.collapsed=true;
     61                  console.log(param.data.collapsed);
     62                  if(param.data.collapsed == undefined || param.data.collapsed == true){
     63                      console.log("未定义或者是未展开,下次即将展开");
     64                      param.data.collapsed=false;
     65                  }else{
     66                     console.log("下次不展开");
     67                      param.data.collapsed=true;
     68                      return;
     69                  }
     70                  
     71              }
     72             param.data.children.push({name:"子部门测试",children:[]});//这里可以修改你动态获取到的数据在此赋值到data里面
     73             param.data.hasChild =false; 
     74             param.data.collapsed=false;
     75             
     76             console.log(param.data);
     77             console.log(myChart.getOption().series[0].data);
     78             data = myChart.getOption().series[0].data;
     79             myChart.clear();
     80             myChart.setOption(option = {
     81                 tooltip: {
     82                     trigger: 'item',
     83                     triggerOn: 'mousemove'
     84                 },
     85                 series: [
     86                     {
     87                         type: 'tree',
     88             
     89                         data: data,
     90                         initialTreeDepth: 1,
     91                         top: '1%',
     92                         left: '7%',
     93                         bottom: '1%',
     94                         right: '20%',
     95             
     96                         symbolSize: 7,
     97             
     98                         label: {
     99                             normal: {
    100                                 position: 'left',
    101                                 verticalAlign: 'middle',
    102                                 align: 'right',
    103                                 fontSize: 9
    104                             }
    105                         },
    106             
    107                         leaves: {
    108                             label: {
    109                                 normal: {
    110                                     position: 'right',
    111                                     verticalAlign: 'middle',
    112                                     align: 'left'
    113                                 }
    114                             }
    115                         },
    116             
    117                         expandAndCollapse: true,
    118                         animationDuration: 100,
    119                         animationDurationUpdate: 0
    120                     }
    121                 ]
    122             });
    123         }
    124 })
  • 相关阅读:
    nuget 微软开源项目工具库
    Creating a REST service using ASP.NET Web API
    [转载]返璞归真 asp.net mvc (10) asp.net mvc 4.0 新特性之 Web API
    【转载】返璞归真 asp.net mvc (11) asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作
    ASP.NET MVC3使用PagedList实现分页导航
    asp.net mvc api 异常捕捉
    atitit.提升软件开发效率大的总结O5
    atitit.dw不能显示正确的百分比高度in dw的解决
    atitit.常用编程语言的性能比较 c c++ java
    atitit.二维码生成总结java zxing
  • 原文地址:https://www.cnblogs.com/wasbg/p/11475515.html
Copyright © 2020-2023  润新知