2017-01-10 1 views
0

Im folgenden Codeausschnitt ist die erste Spalte anklickbar (^ und v), um einen Akkordeon-Stil von Zeilen zu öffnen und zu schließen. Diese Zelle erhält den "anklickbaren" Wert im Klassenattribut. Alle anderen Zellen öffnen nach dem Anklicken eine neue Seite (die von der Funktion getProfileDetail verarbeitet wird). Aber das Attribut tr class erhält den anklickbaren Wert nicht. Ich benutze .clickable in meinem CSS, um den Cursor anzuzeigen: Zeiger. Die Klickereignisse funktionieren. Mein Problem ist, dass das visuelle korrekt ist. Der Punkt wird in der ersten Zelle angezeigt, aber nicht für den Rest der Zeile.Wird das tr-Element in seinem Klassenattribut "anklickbar"?

Mache ich etwas falsch? Oder gibt es einen besseren Weg, um das zu erreichen, was ich versuche?

(Für das, was es wert ist, die Zeilen, die angezeigt werden, wenn das Akkordeon geöffnet ist nicht anklickbar sind. Dieser Code wird nicht angezeigt unten.)

<tr class="info-row" [ngClass]="{even: even}" 
    (click)="getProfileDetail(searchResult.id)"> 
    <td ngid="pr-col-accordion" [ngClass]="{even: even, clickable: searchResults.records.length>1}" 
    (click)="$event.stopPropagation(); searchResult.records.length > 1 ? searchResult.opened = !searchResult.opened : false"> 
     <i [ngClass]="{'material-icons': searchResult.records.length > 1, opened: searchResult.opened}"></i> 
    </td> 
    <td>{{searchResult.id}}</td> 
    <td>{{searchResult.name}}</td> 
    <td>{{searchResult.contact}}</td> 
    <td>{{searchResult.records[0].name}}</td> 
    <td> 
     <i class="material-icons">keyboard_arrow_right</i> 
    </td> 
</tr> 
+0

Könnten Sie einen PLNKR hosten? Ich denke, ich weiß warum, aber ich kann nicht versuchen, sicher zu sein – Ced

+0

Eigentlich denke ich, ich finde es einfach heraus. Im 'tr' brauche ich' [ngClass] = "even: even, clickable: true" ' – Machtyn

Antwort

0

Im Elemente ist die Antwort hinzufügen

<tr class="info-row" [ngClass]="{even: even, clickable: true}" ... 
Verwandte Themen