2016-12-14 1 views
1

[Dart + Polymer]Polymer - Wie bekomme ich die ID von Papier-Input?

Hallo,

Ich habe PaperInput Elemente in einer Polymer dom-Repeat-Vorlage. Also, es gibt mehrere, also auf der @Listen versuche ich die ID zu bekommen, aber es ruft nur id = "labelAndInputContainer" ab (egal was ich in der Vorlage mache).

Gibt es einen Trick, um das? Ich habe "alles" ausprobiert - über den letzten halben Tag!

Hier ist mein HTML:

 <template is="dom-repeat" items={{rgetThem}}> 
      <paper-card heading={{yyyy(item)}} > 
       <div class="card-content" > 
        <p style="color:red">ID:{{getID(item)}}</p> 
         <paper-input on-change="onchangepassword" 
            label='Password' 
            id={{getID(item)}} 
            floatingLabel> 
         </paper-input> 
       </div> 

Und der Zuhörer:

@Listen ('onchangepassword') 
    void onchangepassword(Event custEvent, var t) { 
    IronInput PI=custEvent.target; 
    Element yy=PI.parent; 
    String id=yy.id; 
    } 

Anregungen herzlich willkommen.

Dank

Steve

+0

https://www.polymer-project.org/1.0/docs/devguide/templates#handling-events. Event.model.item.id –

+0

Das könnte sein, was Lymp ist, aber mein Eindruck war, dass Lymp eine Frage nach einer Möglichkeit stellte, die ID des PaperInput zu erhalten, von der das Ereignis ausgelöst wird. Vergiss es :-) –

Antwort

1

Sie

Element yy=PI.parent.closest('paper-input'); 

Das Problem ist, Sie konfrontiert könnten versuchen, in div Elemente gewickelt ein Eisen-Eingabeelement Papier-Element kapselt. Das Finden der nächsten Papiereingabe findet die Papiereingabe, in die die Eiseneingabe eingekapselt ist, da dies die nächste ist. Ich bin sicher, es gibt andere Möglichkeiten, es zu tun, aber das funktioniert für mich. In der Tat könnten Sie einfach tun

, die genauso gut funktionieren wird.

UPDATE:

Auf Kommentar über dom-Wiederholungsereignis Modelle zu sehen, es fällt mir ein, können Sie eine weitere Polymer Dart spezifische Dokumentation verknüpfen möchten.

https://github.com/dart-lang/polymer-dart/wiki/data-binding-helper-elements#handling-events-in-dom-repeat-templates

Wie

vorgeschlagen
model.item.id 

Und ich bin nicht für den aktualisierten Teil meiner Antwort außer der Dart spezifischen Link geht zu nehmen Kredit.

Verwandte Themen