2016-12-14 106 views
1

[達特+聚合物]聚合物 - 如何從紙張中獲取ID輸入?

您好,

我有在聚合物DOM重複模板PaperInput元件。所以,有幾個,@Listen等我嘗試獲取id,但它只檢索id =「labelAndInputContainer」(不管我在模板中做什麼)。

這有一些竅門嗎?我已經嘗試過「一切」 - 在過去的半天!

這裏是我的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> 

和聽衆:

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

任何建議深受歡迎。

感謝

史蒂夫

+0

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

+0

這可能是Lymp之後的事情,但我的印象是Lymp提出了一個獲取引發事件的PaperInput的id的方法的問題。沒關係 :-) –

回答

1

你可以嘗試

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

你面臨的問題是紙元件封裝包裹在div元素鐵input元素。找到最接近的紙張輸入將會找到烙鐵輸入封裝的紙張輸入,因爲這是最近的一個。我相信還有其他方法可以做到這一點,但這對我很有用。事實上,你可以做

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

這將工作得很好。

UPDATE:

見狀約DOM-repeat事件模型的評論,它發生,我可能要更高分子飛鏢具體的文檔鏈接。

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

至於有人建議

model.item.id 

而且我不會把功勞我的回答除了飛鏢特定鏈接的更新部分。