Dart PaperDropdownMenu 获取所选项目

标签 dart polymer paper-elements

我有点难以获得选定的项目 ID,甚至是下拉菜单列表中显示的文本。这是我的代码:

HTML:
      <paper-dropdown-menu  label="Currency" on-core-select="{{selectCurrency}}">
        <paper-dropdown class="dropdown" halign='right'>
          <core-menu class="menu"  selected="{{selectedCurrency}}">
            <template repeat="{{c in currencies}}">
              <paper-item>{{c}}</paper-item>
            </template>
          </core-menu>
        </paper-dropdown>
      </paper-dropdown-menu>

Dart :
void selectCurrency(CustomEvent e, var detail, PaperDropdownMenu m) {
    var id = m.getAttribute("selected");
    //id = mCurrencyDropdown.selected;
    JsObject detail = new JsObject.fromBrowserObject(e)['detail'];

    if(detail['isSelected']) {
        PaperItem selected =  detail['item'] as PaperItem;

        print( 'source | $selected' );
    }

  print(detail);

}

我可以看到几个属性,我可能会从中获得我想要的信息,但我无法访问它们,因为它们似乎不公开:
https://drive.google.com/file/d/0B9-4jVIpB0XuTXJ5eVBMZllyanM/view

任何的想法?谢谢!

感谢 Günter,我找到了答案:

我有一个像这样的可观察的:
@observable int selectedCurrency = 20;

显然,您可以简单地向您的类添加一个与成员名称匹配的方法,并且每次更改可观察对象时都会调用它:
selectedCurrencyChanged(var oldValue, var newValue) { 
    print(newValue);
}

Official Documentation

最佳答案

您绑定(bind)的字段 selectedCurrency 在哪里?

我想你可以放弃 on-core-select完全事件处理程序,而是添加一个方法

selectedCurrencyChanged(newValue) { 
  // event handler code here 
}

关于Dart PaperDropdownMenu 获取所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28386958/

相关文章:

flutter - 如何从 SMS 获取 OTP - 自动填充

flutter - 将 syncfusion_flutter_pdfviewer 与 flutter web 结合使用

javascript - polymer 查询选择器在 polymer 元素中找不到自定义 polymer 元素

polymer - 创建一组 paper 复选框(使用铁选择器?)

javascript - 如何分离 Polymer 按钮和对话框

javascript - 聚合物 : paper-autocomplete set value

dart - 聚合物元素的行为不正确,始终在顶部有纸按钮,仅在动画过程中有纸阴影

dart - Flutter 将网络 mp3 文件保存到本地目录

dart - 如何将 future 结果与 flutter 中的流连接起来?

css - Polymer 1.0 iron-flex-layout 仅适用于部分标签