zoukankan      html  css  js  c++  java
  • angular json 解析和数据处理

    ...

    html

    <d-button (btnClick)="HuGet()">huzh Get</d-button>
    
    <h5 class="text-muted">Standard: Single Select</h5>
    <div class="row">
      <div class="col-md-5" style="font-size: 0">
        <d-tree-select
          placeholder="Standard Input"
          [treeData]="data1"
          [expandTree]="true"
          [(ngModel)]="value1"
          (valueChanged)="valueChanged($event)"
          (ngModelChange)="showSelected($event)"
          style=" 280px"
        ></d-tree-select>
      </div>
    </div>
    

    ts

    import {Component, OnInit} from '@angular/core';
    import {HttpClient} from '@angular/common/http';
    import {DValidateRules} from 'ng-devui/form';
    import {of} from 'rxjs';
    import {delay, map} from 'rxjs/operators';
    
    
    interface Ihu {
      title: string;
      id: string;
    }
    
    interface IIhu extends Ihu {
      title: string;
      children: Ihu[];
      id: string;
    }
    
    
    interface IIIhu {
      data: {
        sections: [
          {
            sectionId: string,
            name: string,
            items: [
              {
                id: string,
                name: string,
              }
            ]
          }
        ]
      };
    }
    
    
    @Component({
      selector: 'app-huzh',
      templateUrl: './huzh.component.html',
      styleUrls: ['./huzh.component.scss']
    })
    export class HuzhComponent implements OnInit {
      ngOnInit() {
        console.log('huzh');     // 传入的数据
        this.HuGet();
      }
    
      Idd: Ihu = {title: '', id: ''};
      IIdd: IIhu = {title: '', children: [], id: ''};
      data2 = [];
      data1 = [];
      value1 = {
        'title': 'g1s1',
        'id': '1'
      };
    
      // 固定值,直接推给 data1, 没有问题,测试数据
      // data3 = {
      //   'data': {
      //     'projectId': '089ebe99-6360-41a6-bdfd-847ae77e6c0a',
      //     'appId': '7a519829-414d-47c7-82e8-ee3ae0be4690',
      //     'name': 'huzh-测试',
      //     'iconUrl': 'https://coop.xxx.com:443/file/mdpub/customIcon/0_lego.svg',
      //     'color': '#00bcd4',
      //     'desc': '',
      //     'sections': [
      //       {
      //         'sectionId': '11',
      //         'name': 'g1',
      //         'items': [
      //           {
      //             'id': '22',
      //             'name': 'g1s1',
      //             'type': 0,
      //             'iconUrl': 'https://coopera.xxx.com:443/file/mdpub/customIcon/hr_workbench.svg',
      //             'status': 1
      //           },
      //           {
      //             'id': '33',
      //             'name': 'g1s2',
      //             'type': 0,
      //             'iconUrl': 'https://cooper.xxx.com:443/file/mdpub/customIcon/1_0_home.svg',
      //             'status': 1
      //           }
      //         ]
      //       },
      //       {
      //         'sectionId': '44',
      //         'name': 'g2',
      //         'items': [
      //           {
      //             'id': '55',
      //             'name': 'g2s1',
      //             'type': 0,
      //             'iconUrl': 'https://coop.xxx.com:443/file/mdpub/customIcon/1_0_home.svg',
      //             'status': 1
      //           },
      //           {
      //             'id': 'hu66',
      //             'name': 'g2s2',
      //             'type': 0,
      //             'iconUrl': 'https://coop.xxx.com:443/file/mdpub/customIcon/1_0_home.svg',
      //             'status': 1
      //           }
      //         ]
      //       }
      //     ]
      //   },
      //   'success': true,
      //   'error_code': 1
      // };
    
      ddd: IIIhu = {
        data: {
          sections: [
            {
              sectionId: '',
              name: '',
              items: [
                {
                  id: '',
                  name: '',
                }
              ]
            }
          ]
        }
      };
    
      constructor(private http: HttpClient) {
      }
    
    
      HuGet(): void {
        // 先用变量接住http resp,再赋值
        // devui的接口需要传定值,http 直接获取的值如果push到 data1中,显示不了数据
        // this.http.get<IIIhu> 这种写法可能是必须的,可以直接在resp中使用 '.propertie' 访问,否则报错
        // 先定类型,在处理
        console.log('hello');
    this.http.get<IIIhu>('http://127.0.0.1:4200/api/v1/open/app/get?appKey=b5e55ba6e1&sign=ZjBhMjdjMjM3O假的GI3NGI5ZwZWQwZTI5OTc0NjNkYWNhNjU0ZjAzMGRiMzc5MzZ0MDc5OTE1NA==').subscribe( (data: IIIhu) => { this.ddd = { data: { sections: [ { sectionId: '', name: '', items: [ { id: '', name: '', } ] } ] } }; this.ddd = data; console.log('now ddd=>', this.ddd); //置空否则点击按钮,否则一直增加 this.data1 = []; this.data2 = []; this.ddd.data.sections.forEach( (value, index, array) => { this.IIdd = { id: '', title: '', children: [] }; this.IIdd.title = value.name; this.IIdd.id = value.sectionId; value.items.forEach( (value2, index1, array1) => { this.Idd = {id: '', title: ''}; this.Idd.title = value2.name; this.Idd.id = value2.id; this.IIdd.children.push(this.Idd); } ); this.data2.push(this.IIdd); } ); console.log('after'); console.log('last', this.data2); this.data1 = this.data2; } ); } // 接data3 // HuD(): void { // this.data1 = []; // for (const item of this.data3.data.sections) { // this.IIdd = { // id: '', // title: '', // children: [] // }; // this.IIdd.title = item.name; // this.IIdd.id = item.sectionId; // const va = item; // for (let emm of va.items) { // this.Idd = {id: '', title: ''}; // const mm = emm; // console.log('emm===>', mm); // this.Idd.id = mm.id; // this.Idd.title = mm.name; // this.IIdd.children.push(this.Idd); // } // this.data1.push(this.IIdd); // console.log(this.data1); // } // } // showSelected($event: Event) { console.log('event emitted: ', $event); } valueChanged($event) { console.log('value changed:', $event); } // }

      

  • 相关阅读:
    SharePoint 2013 中的SQL Server 安全
    SharePoint 2013 的HTML5特性之响应式布局
    SharePoint 2013 一些小技巧
    SharePoint 2013 排错之"Code blocks are not allowed in this file"
    SharePoint 2013 创建搜索中心及搜索设置
    SharePoint 2013 使用PowerShell创建State Service
    SharePoint 2013 内容部署功能简介
    SharePoint 使用PowerShell恢复误删的网站集
    SharePoint 自定义WebPart之间的连接
    linux之misc及使用misc创建字符设备
  • 原文地址:https://www.cnblogs.com/eiguleo/p/14811501.html
Copyright © 2011-2022 走看看