1

選択した項目の 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);
}

公式ドキュメント

4

1 に答える 1

1

バインドしたフィールド selectedCurrency はどこにありますか?

on-core-selectイベントハンドラーを完全に削除して、代わりにメソッドを追加できると思います

selectedCurrencyChanged(newValue) { 
  // event handler code here 
}
于 2015-02-07T20:51:09.270 に答える