How to use core-menu selection

384 Views Asked by At

I have the following taken from http://www.dartdocs.org/documentation/core_elements/0.1.0+1/index.html#core_elements/core_elements-core_menu.CoreMenu

  <section>
    <core-menu selected="0" on-core-select="{{selectAction}}">
      <core-item icon="settings" label="Settings"></core-item>
      <core-item icon="dialog" label="Dialog"></core-item>
      <core-item icon="search" label="Search"></core-item>
    </core-menu>
  </section>


  void selectAction (e, detail)
  {
    if ( e.target.isSelected)
    {
      var selectedItem = detail.item;

      print ( selectedItem );
    }
  }

Even just trying to run the app with the code without attempting a selection gives the following

Exception: Class 'CoreMenu' has no instance getter 'isSelected'.

NoSuchMethodError: method not found: 'isSelected'
Receiver: Instance of 'CoreMenu'

Is there bug here or the code is just wrong

1

There are 1 best solutions below

2
On BEST ANSWER

An example from an app of mine

import 'dart:js' as js;

  void menuSelectHandler(dom.CustomEvent e) {
    var detail = new js.JsObject.fromBrowserObject(e)['detail'];
    //var detail = e['detail']; // you can try without js.JsObject.fromBrowserObject(e), but the last time I tried it didn't work for me without it

    if(detail['isSelected']) {
      var item = (detail['item'] as CoreItem);
      selectedMenuLabel = item.label;

    }
  }