聚合物:在纸张按钮按下“ok”后,在纸张对话框内获得纸张输入的值

Polymer: get the value of paper-input inside a paper-dialog after paper-button press "ok"

本文关键字:对话框 输入 张输入 按钮 张按钮 ok 聚合物      更新时间:2023-09-26

我需要在按下"ok"纸张按钮后获得纸张对话框中一些纸张输入字段的值。

:

...
<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')的调用结果为null。

任何想法?

谢谢你的帮助。

Stefan

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

可以用

访问
var header = this.valHeader

document.querySelector('#dialog-add-note-header')不起作用,因为paper-input元素在paper-dialog的阴影DOM内。但是您可以使用Polymer的节点查找工具this.$.dialogAddNoteHeader(重命名id属性以不包含破折号)直接访问输入元素。