飞镖纸下拉菜单获取所选项目



我有点难以获取选定的项目 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>

飞镖:

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

知道吗?谢谢!

感谢君特,我找到了答案:

我有一个这样的可观察对象:

@observable int selectedCurrency = 20;

显然,您可以简单地向类添加一个与成员名称匹配的方法,并且每次更改可观察量时都会调用该方法:

selectedCurrencyChanged(var oldValue, var newValue) { 
    print(newValue);
}

官方文档

选择的字段在哪里绑定到的货币?

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

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

最新更新