PrimeNG Treetable потомок пост развернуть событие - PullRequest
0 голосов
/ 27 сентября 2018

У нас есть требование, когда родительский элемент с флажком, а затем расширяемые дочерние узлы должны иметь переключатели, так как древовидная таблица имеет поддержку только флажков, мы вставили динамический HTML для флажков и требуются переключатели, проблема заключается в том, когда мы расширяемили сворачивание дочернего узла, все переключатели и выбранные флажки сбрасываются, у нас есть список выбранных элементов в массиве, поэтому мы можем циклически проходить, но даже если мы пытаемся перебрать список в событии nodeexpand, все равновыборки очищаются, пожалуйста, помогите мне найти решение о том, как я могу поддерживать состояние флажка и переключателей, связанных со свойством innerHTML, даже после расширения или сворачивания узла

 <p-treeTable [value]="gridData" [columns]="scrollableColumns" [frozenColumns]="frozenCols" [scrollable]="true" frozenWidth="150px">
    <ng-template pTemplate="colgroup" let-columns>
      <colgroup>
        <col *ngFor="let col of columns" style="width:250px;">
      </colgroup>
    </ng-template>
    <ng-template pTemplate="header" let-columns>
      <tr>
        <th *ngFor="let col of columns;let i =index" style="height:47px !important">
          <div *ngIf="col.field.toUpperCase() == 'SNO'" [innerHTML]="col.header | sanitizeHtml: 'html'" style="width:100px !important">
          </div>
          <div *ngIf="col.field.toUpperCase() != 'SNO'">
            {{col.header}}
          </div>
        </th>
      </tr>
    </ng-template>
    <ng-template pTemplate="body" let-rowData="rowData" let-columns="columns">
      <tr>
        <td *ngFor="let col of columns; let i = index">
          <div *ngIf="col.field.toUpperCase() == 'CURRENTDNBCOMPANYNAME'" (click)="showDialog()">
            <a class="cusror">{{rowData[col.field]}}</a>
          </div>
          <div *ngIf="col.field.toUpperCase() != 'CURRENTDNBCOMPANYNAME'">
            {{rowData[col.field]}}
          </div>
        </td>
      </tr>
    </ng-template>
    <ng-template pTemplate="frozenbody" let-rowNode let-rowData="rowData">
      <tr style="width:100px !important">
        <td style="display:-webkit-inline-box;width:100% !important;">
          <p-treeTableToggler class="{{rowData.class}}" [rowNode]="rowNode"></p-treeTableToggler>
          <div [innerHTML]="rowData.Sno | sanitizeHtml: 'html'"></div>
        </td>
      </tr>
    </ng-template>
  </p-treeTable>

IN машинопись

this.gridData = [{data: {class: 'abc', Sno: '', SourceSource: 'DMS', CityofRecommendedDNB: 'Redmond', RecommendedDnB: 'Core American Security', CurrentDNBCompanyName: 'ACADEMIE DE PARIS', LegalEntityCompanyName: «Microsoft Corp.», CID: 'ebf1bd3b-37cb-4fdc-a463-fad6b8bb5d68', DNBID: '392085739', Адрес: 'France', Город: '94 AVENUE GAMBETTA '}, расширен: true, дети: [{data: {Sno:''Источник рекомендации:' DMS - Город: ПАРИЖ ', CityofRecommendedDNB:' Jarvis ', RecommendedDnB:' Core American Security ', CurrentDNBCompanyName:' Académie de Paris ', LegalEntityCompanyName:' Microsoft Corp. ', CID:' ebf1bd3b-37cb-4f-a463-fad6b8bb5d68 ', DNBID:' 392085733 ', Адрес:' Франция ', Город: '94 avenue GAMBETTA'},}, {data: {Sno: '', Источник рекомендации: 'Jarvis', CityofRecommendedDNB: 'Bellevue',RecommendedDnB: «Core American Security», CurrentDNBCompanyName: «Microsoft», LegalEntityCompanyName: «Microsoft Corp.», CID: «ebf1bd3b-37cb-4fdc-a463-fad6b8bb5d68», DNBID: «234423423», адрес: U.Город: 'GAMBETTA'}, дети: [{data: {Sno: '', Источник рекомендаций: 'DMS', CityofRecommendedDNB: 'Сиэтл', RecommendedDnB: 'Базовая американская безопасность', CurrentDNBCompanyName: 'Académie de Paris', LegalEntityCompanyName: ''миcrosoft Corp. ', CID:' ebf1bd3b-37cb-4fdc-a463-fad6b8bb5d68 ', DNBID:' 4234234234 ', Адрес:' france ', Город:' japan '},}, {data: {Sno:' ', Рекомендации Источник: 'DMS', CityofRecommendedDNB: 'Everret', RecommendedDnB: 'ACADEMIE DE PARIS', CurrentDNBCompanyName: 'Core American Security', LegalEntityCompanyName: '94 avenue ', CID:' ebf1bd3b-37cb-4fdc-a463-fbb688'353534', Адрес: 'japan', Город: 'austin'},}]}]}, {data: {class: 'abc', Sno: '', Источник рекомендаций: 'DMS', CityofRecommendedDNB: 'Redmond',RecommendedDnB: «Core American Security», CurrentDNBCompanyName: «Microsoft», LegalEntityCompanyName: «Microsoft Corp.», CID: «211fc80e-6d4b-4605-998b-b75945ff22f1», DNBID: «650558641», адрес: «Chalfont», город:'Питтсбург'}, расширен: true, дети: [{data: {Sno: '', Источник рекомендаций: 'DMS', CityofRecommendedDNB: 'Bellevue', RecommendedDnB: 'Core American Security', CurrentDNBCompanyName: 'Microsoft', LegalEntityCompanyName: 'Microsoft Corp. ', CID:' 211fc80e-6d4b-4605-998b-b75945ff22f1 ', DNBID:' 456783 ', Адрес:' Jarvis ', Город:' Здоровье моих данных '}, дети: [{data: {Sno:' ', Источник рекомендации:' DMS ',CityofRecommendedDNB: «BELLEAVUE», RecommendedDnB: «Core American SECURITY», CurrentDNBCompanyName: «Microsoft», LegalEntityCompanyName: «Microsoft Corp.», CID: «211fc80e-6d4b-4605-998b-b75945ff22f1», адрес: DNB35: DNB35:'Chalfont', Город: 'Питтсбург'},}, {data: {Sno: '', Рекомендации Источник: 'Джарвис', CityofRecommendedDNB: 'Эверрет', RecommendedDnB: 'Базовая американская безопасность', CurrentDNBCompanyName: 'Microsoft', LegalEntityCompanyName:«Microsoft Corp.», CID: «211fc80e-6d4b-4605-998b-b75945ff22f1», DNBID: «45678356», адрес: «Питтсбург», город: «Chalfont»},}]}]}];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...