2017-10-25 4 views
0

Hallo, ich versuche, Standardeinstellungen Daten von der Elternkomponente zu bekommen, aber ich bin mir nicht bewusst, dass Sie dies können Sie bitte helfen.Standardeinstellungen Eltern zu Kind in Angular4

this.settings = { 
'filter': { 
      'quick': [{ 
       'name': 'status', 
       'values': [{ 
        'label': 'Active', 
        'value': 'Active' 
       }, 
        { 
         'label': 'Inactive', 
         'value': 'Inactive' 
        } 
       ] 

      }] 
     } 
} 

in Mutter Html i Einstellungen am Übergang Tabellenkomponente

<smart-table class="immiviewClientsTable" 
        [settings]="settings" 
        [data]="data" 
        [paginationData]="paginationData" 
        (onAddClick)="addNewCli($event)" 
        (onRowClick)="onUserRowClick($event)" 
        (dataWithQueryParams)="dataWithParameters($event)"></smart-table> 

in Smart-Tabellenkomponente i stecken bin smart, wie Daten Einstellungen nach unten fallen zu bekommen, dass. So schnell wie Überschrift und Option Werte wie aktiv und inaktiv

+0

haben Sie erklären Einstellungen als '@Input()' in 'Smart-table' Komponente? –

+0

In Ihrer 'SmartTable' haben Sie einen' @ Input' namens 'settings', verwenden Sie diese Variable, sonst können Sie Ihr Problem besser erklären? –

+0

@NadunLiyanage ja –

Antwort

0

Um mehrere Dropdown-Menüs zu wiederholen und zu erstellen, sollten Sie über eine Reihe von Variablen verfügen, um die ausgewählten Werte von jedem zu binden. Sonst können Sie ein Attribut im JSON-Objekt selbst haben, damit es gebunden werden kann. (Unter der Annahme, dass Sie das JSON-Objekt ändern können, wie ich vorgeschlagen)

filters= [ 
{ 
    "name": "quick", 
    "values": [ 
      { 
       "label": "Active", 
       "value": "Active" 
      }, 
      { 
       "label": "Inactive", 
       "value": "Inactive" 
      } 
      ], 
    "selection": "" 
}]; 

dann in der Vorlage,

<div *ngFor="let filter of filters"> 
{{filter.name}} 
    <select [(ngModel)]="filter.selection" (ngModelChange)="onSelect($event)"> 
     <option *ngFor="let value of filter.values" [ngValue]="value.value"> 
     {{value.label}} 
     </option> 
    </select> 
</div>