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); } // }

      

  • 相关阅读:
    Codeforces 1265A Beautiful String
    1039 Course List for Student (25)
    1038 Recover the Smallest Number (30)
    1037 Magic Coupon (25)
    1024 Palindromic Number (25)
    1051 Pop Sequence (25)
    1019 General Palindromic Number (20)
    1031 Hello World for U (20)
    1012 The Best Rank (25)
    1011 World Cup Betting (20)
  • 原文地址:https://www.cnblogs.com/eiguleo/p/14811501.html
Copyright © 2011-2022 走看看