Douglas Fils
Douglas Fils

Reputation: 311

In Dart WebUI how to invoke a method on load for an element

In Dart I am attempting something like:

<element name="x-facet-select" constructor="SelectOptions" extends="div">
<template>
  <div>
    <select bind-value="str" on-click="update()" on-load="init()" id="outputitems" multiple="multiple">

I can't get the on-load (or onload, or anything) method to run in the SelectOptions call. It's jus a simple print Hello World line to console as a test.

Is there a way in Dart's WebUI to invoke a method on the initial loading of an element?

Upvotes: 0

Views: 232

Answers (1)

Kai Sellgren
Kai Sellgren

Reputation: 30212

If you want to run code after the user changes the drop down value:

<select id="list" on-change="selectionChanged($event)">
  <option>one</option>
  <option>two</option>
  <option>three</option>
</select>
class SelectOptionsComponent extends WebComponent {
  selectionChanged(Event e) {
    print(__list.value);
  }
}

That would be all.

Update: Looks like you also want to run some code after the component is ready, try inserted():

class SelectOptionsComponent extends WebComponent {
  selectionChanged(Event e) {
    print(__list.value);
  }

  inserted() {
    // populate __list here.
    (__list as OListElement).innerHtml = '<option>bar</option>'; // Just an example.
  }
}

Upvotes: 1

Related Questions