Angular primeng tree 组件数据解析(适用于Angular2+)

1.项目中引入 primeng tree组件

import{TreeModule}from'primeng/tree';

import{TreeNode}from'primeng/api';

2.本文讲解把一个后台返回数据,转化成tree需要的类型

后台返回json如下:

  {

   "count":1,

   "errCode":0,

   "message":"",

   "nodes":[

        {

           "nodes":[

                {

                    "nodes":[

                       {

                            "nodes":[

                                {

                                   "name":"国内生产总值(年度)",

                                   "id":"01111"

                                },

                                {

                                   "name":"国内生产总值(季度)",

                                   "id":"01112"

                                },

                                {

                                    "name":"支出法国内生产总值(年度)",

                                   "id":"01113"

                                },

                                {

                                   "name":"国内生产总值指数(年度)",

                                    "id":"01114"

                                }

                            ],

                           "count":4,

                           "name":"国内生产总值",

                           "id":"0111"

                       },

                       {

                            "nodes":[

                                {

                                   "name":"农/林/牧/渔业总产值(季度)",

                                   "id":"01121"

                                },

                                {

                                   "name":"各地区农/林/牧/渔业总产值(季度)",

                                   "id":"01122"

                                },

                                {

                                   "name":"农/林/牧/渔业总产值及指数(年度)",

                                   "id":"01123"

                                },

                                {

                                   "name":"乡村从业人员(年底数)(年度)",

                                   "id":"01124"

                                }

                            ],

                           "count":1,

                           "name":"农业生产",

                           "id":"0112"

                       }

                   ],

                   "count":1,

                    "name":"国民经济",

                   "id":"011"

                }

            ],

           "count":1,

           "name":"宏观经济",

           "id":"01"

        }

    ]

}

ts中解析代码如下:

getChild(data,imageurl){

   varoneChild = [];

        for(var i=0;i<data.nodes.length;i++){

           varchildnode=newtreeLeft();

           childnode.label=data.nodes[i].name;

           childnode.data=data.nodes[i].id;

           childnode.expandedIcon=imageurl;

      childnode.collapsedIcon=imageurl;

      varchildnodes =data.nodes[i].nodes;

      if(childnodes==null) {

        childnode.children=[];

      } else{

        childnode.children=this.getChild(data.nodes[i],imageurl);

      }

           oneChild.push(childnode);

   }

       returnoneChild;

  }

export classtreeLeft{

   label: string;

   data: string;

   expandedIcon:string;

   collapsedIcon:string;

   children:treeLeft[];

}

最后实现效果


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值