dart - polymer -如何从Paper-Input获取ID?

标签 dart polymer

[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/

相关文章:

javascript - Web 组件就绪标志

javascript - 如何克隆/复制 DOM 节点的影子 Dom?

dart - 如何在 Flutter 中调度后台任务?

firebase - 如何在 flutter 中从 firebase 实时数据库中检索所有数据

flutter - 如何在 flutter 中使用 sensor_plus 获取指南针方向?

javascript - polymer :无法从纸张输入元件获取输入

javascript - polymer 1.x : Event listener scope of "this" object

javascript - polymer JS : Iron-Ajax - How to Bind Token to Headers Property?

regex - 在Flutter中修剪字符串/文本

flutter - 如何通过 Dart 解码波纹管类型的json