如何知道用户在<纸张对话框>上选择了哪个按钮?</paper-dialog>

时间:2014-09-12 03:02:10

标签: dart polymer dart-polymer

鉴于我的模板的简化版本:

<template>
   <paper-dialog id='dialog_alert' heading="{{title}}">
     <p>{{alertText}}</p>
     <paper-button on-tap='{{btnAffirmative}}' label='Yes' affirmative autofocus></paper-button>
     <paper-button on-tap='{{btnNegative}}' label='No' dismissive></paper-button>
   </paper-dialog>
</template>

我无法找到如何在对话框关闭后查看用户选择的按钮。看起来对话框本身并没有为它提供任何事件,因此我只是将“on-tap”事件挂钩到按钮上,这似乎有效。但是,当我使用这种方法时,单击后会出现纸质按钮元素:

  

未捕捉未捕捉错误:

     

状态不佳:控制器覆盖 - 主机不是Dart聚合物元素。

当我点击“on-tap”时,没有异常,但是我不知道用户按下了哪个按钮。我希望我忽略了文档中显而易见的一些东西。

我应该注意到,即使有例外,该程序继续执行正常,所以我现在只是使用on-tap事件。

1 个答案:

答案 0 :(得分:1)

基本上你的方法似乎很好。 affirmativedismissive属性仅影响其添加到对话框的位置(see where and how it is used in the source

我认为错误是由JS聚合物元素的Dart包装引起的。我会在http://github.com/dart-lang/paper-elements创建一个错误报告。

您可以尝试使用on-click代替on-tap,因为on-tap是一个填充事件 - 只是为了确定。