Как использовать событие onchange элемента select для передачи объекта вместо строки в AngularDart? - PullRequest
0 голосов
/ 22 февраля 2019

Вот что я пытаюсь выполнить.

<select (ngModelChange)="addChild($event)">
    <option>Add</option>
    <option [value]="null">New Item</option>
    <option *ngFor="let child of menuItem.children" [value]="child">
        {{child.title}}
    </option>
</select>

Во время компиляции метод addChild не вызывается.VSCode сообщает, что «связанный вывод ngModelChange не существует ни в одной директиве или в элементе» - так какую директиву мне нужно добавить?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

AngleDart SelectElement поддерживает только строки для значений.Если вы хотите передать произвольные объекты, вам нужно будет использовать другой компонент - тот, который поддерживает такие функции.

0 голосов
/ 22 февраля 2019

Попробуйте изменить первую строку на:

<select (change)="addChild($event)">

Это должно сработать.

Вам также может быть удобно печатать строки вместо полных объектов там, где это ожидается:

<option *ngFor="let child of menuItem.children" [value]="child.id">

и, возможно, (или, возможно, нет):

<select (ngModelChange)="addChild(child.id)">

, если это работает лучше для вас, и у вас, конечно, есть подходящая недвижимость.YMMV.

...