将模型绑定到`MaterialSelectComponent`和无用的DelegatingSelectionModel <t> .selectedValues

时间:2018-10-07 14:23:48

标签: dart angular-dart dart-html

说我有一个要绑定到List<Language>的{​​{1}}。

我想实时获取选择和删除的值,以及在模型从“开始”绑定时的确认值。

第一次尝试

在组件中

MaterialSelectComponent

在模板中

final SelectionModel<Language> languagesSelection = SelectionModel.multi();

我在<material-select #languages [options]="languages" (click)="languagesSelection.selectionChanges.listen(update);" displayNameRenderer [selection]="languagesSelection"> </material-select> 上得到的信息太吵了

很显然,DelegatingSelectionModel<T>.selectionChanges.listen(update);不适合使用……

第二次尝试

在组件中

SelectionChangeRecord<T> class

在模板中

final SelectionModel<Language> languagesSelection = SelectionModel.multi();

但是Component中的update方法会得到无用的东西……

  • 单击标签时会触发<material-select #languages (click)="update(languagesSelection.selectedValues);" [selection]="languagesSelection"> <material-select-item *ngFor="let lang of languages" [value]="lang" [selected]="lang.selected" displayNameRenderer> </material-select-item> </material-select> ,因此,由于未选中此复选框,但实际上已选中,因此检索到的数据已损坏……
  • 文档中注明

      

    返回所选值的有序列表。

    在使用languagesSelection.selectedValues时,languagesSelection.selectedValues不会返回开始时设置的所选值…

  • 该列表不可靠,无法用于与模型绑定...

问题

如何正确[selected]="lang.selected"与模型绑定?

0 个答案:

没有答案