聚合物 - 如何从纸张输入获取ID?

时间:2016-12-14 22:23:07

标签: 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;
  }

欢迎任何建议。

由于

史蒂夫

1 个答案:

答案 0 :(得分:1)

你可以尝试

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特定链接之外,我不会因为我的答案的更新部分而受到赞誉。