[Dart + Polymer]
你好,
我在Polymer dom-repeat模板中有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;
}
任何建议都欢迎。
谢谢
史蒂夫
最佳答案
你可以试试
Element yy=PI.parent.closest('paper-input');
您面临的问题是纸质元素将包裹在div元素中的铁输入元素封装起来。找到最接近的纸张输入将找到包装有铁质输入的纸张输入,因为那是最接近的纸张输入。我敢肯定还有其他方法可以做到,但这对我有用。实际上你可以做
Element yy=PI.closest('paper-input');
效果也一样。
更新:
看到关于dom-repeat事件模型的评论后,对我而言,您可能需要更多Polymer Dart特定文档链接。
https://github.com/dart-lang/polymer-dart/wiki/data-binding-helper-elements#handling-events-in-dom-repeat-templates
如建议
model.item.id
除了Dart特定的链接,我不会为我的答案的更新部分功劳。
关于dart - polymer -如何从Paper-Input获取ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153267/