Пользовательские события в веб-компонентах?

Я хочу реализовать свой собственный веб-компонент ввода текста, например:

<x-text autocomplete="{{ true }}"></x-text>

Дело в том, что когда пользователь выбирает элемент из списка автозаполнения, как мой веб-компонент может вызвать событие? Я ищу что-то вроде этого:

<x-text autocomplete="{{ true }}" on-select="itemSelected()"></x-text>

Есть ли способ добиться этого?


person Ahmed    schedule 25.01.2013    source источник
comment
Насколько мне известно, для него нет поддержки: github.com/dart- lang / web-ui / issues / 242   -  person Kai Sellgren    schedule 28.01.2013


Ответы (2)


Это возможно, но может быть не очень интуитивно.

Вы не можете привязаться к настраиваемому событию в HTML. Вы должны сделать это вручную в коде:

<x-foo id="wtvr"></x-foo>
_root.query('#wtvr').on['foo'].add((e) => print(e));

Затем, когда компоненты запускают событие, вы просто пишете:

_root.on['foo'].dispatch(new CustomEvent('foo'));
person Kai Sellgren    schedule 30.01.2013

Не имея большого опыта работы с веб-компонентами, я бы просто реализовал функцию onchange / onblur для самого выделения.

person DrColossos    schedule 28.01.2013