[达特+聚合物]
您好,
我在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;
}
欢迎任何建议。
由于
史蒂夫
答案 0 :(得分:1)
你可以尝试
Element yy=PI.parent.closest('paper-input');
你所面临的问题是纸质元素封装了一个用div元素包裹的铁输入元素。找到最接近的纸张输入将找到铁输入被封装的纸张输入,因为它是最近的纸张输入。我确定还有其他方法可以做到这一点,但这对我有用。事实上你可以做到
Element yy=PI.closest('paper-input');
也可以。
更新:
在看到有关dom-repeat事件模型的评论后,我发现您可能需要更多Polymer Dart特定文档链接。
正如所建议的那样
model.item.id
除了Dart特定链接之外,我不会因为我的答案的更新部分而受到赞誉。