聚合物:按下纸张按钮后,在纸张对话框中获取纸张输入的值"确定"

时间:2014-07-06 10:35:56

标签: javascript polymer

按下“确定”纸张按钮后,我需要在纸张对话框中获取某些纸张输入字段的值。

我有:

...
<paper-dialog id="notediag" heading="Add Note" transition="paper-dialog-transition-center">
    <paper-input id="dialog-add-note-header" label="Header"
        value="{{valHeader}}"></paper-input>
    <br>
    <paper-input id="dialog-add-note-text" label="Text"></paper-input>

    <paper-button label="Cancel" dismissive></paper-button>
    <paper-button label="Ok" affirmative default
        on-click="{{addNote}}"></paper-button>
</paper-dialog>
...

<script>
Polymer('note-list',{
  addNote: function(e, detail, sender)
  {
        var header=???
        console.log("add note "+header);
  }
});
</script>

我尝试了多种方法来查找纸张输入字段的值,但没有找到适当的方法。 e.target.templateInstance不起作用。对document.querySelector('#dialog-add-note-header')的调用会导致空。

有什么想法吗?

谢谢你的帮助。

的Stefan

1 个答案:

答案 0 :(得分:2)

{{valHeader}} note-list elelemt中创建一个属性,该属性绑定到 paper-input 的输入值。

您可以使用

访问它
var header = this.valHeader

document.querySelector('#dialog-add-note-header')不起作用,因为 paper-input 元素位于paper-dialog的影子DOM内。但您可以使用Polymer的节点查找实用程序this.$.dialogAddNoteHeader(将您的id属性重命名为不包含短划线)来直接访问输入元素。