将材料选择绑定到我的模型
Posted
技术标签:
【中文标题】将材料选择绑定到我的模型【英文标题】:Binding material-select to my model 【发布时间】:2017-11-14 12:40:00 【问题描述】:我有一个简单的用例 - 我有一个丰富的对象模型,我在 AngularDart 应用程序中使用,我想要一个组件来显示模型的一个字段的当前状态,我想调用选择更改时模型上的方法(最终将更新绑定到 的字段)。
类似这样的:
应用组件.dart:
@Component(
selector: 'my-app',
styleUrls: const ['app_component.css'],
templateUrl: 'app_component.html',
directives: const [CORE_DIRECTIVES, materialDirectives],
providers: const [materialProviders],
)
class AppComponent
Model myModel = new MyModel();
SelectionModel<String> selectModel = new SelectionModel();
应用组件.html:
<material-dropdown-select
[options]='myModel.listOfOptions'
[buttonText]='myModel.currentOption'
[selection]='selectModel'>
<!-- call myModel.changeOption(selectedOption) when selection changes -->
</material-dropdown-select>
【问题讨论】:
【参考方案1】:selectModel.selectionChanges.listen(update);
void update(List<SelectionChangeRecord> record)
...
【讨论】:
嗨,你能在 github 上分享你的代码吗?我有一个错误:EXCEPTION: Assertion failed: org-dartlang-app:///packages/angular_components/material_select/material_dropdown_select_accessor.dart:118:12 _select.selection == null "Cannot set [selection] when using a Dropdown control value accessor."
【参考方案2】:
将 setter 附加到您的 selectModel
成员,并在其中运行代码并更新“真实”值(私有成员)。你当然需要匹配的吸气剂。
【讨论】:
我还是有点迷茫……谁叫二传手? 我知道我可能很密集,但是像这样吗? SelectionModel我希望这个live example 可以帮助你,如果有兴趣请看source code。
【讨论】:
以上是关于将材料选择绑定到我的模型的主要内容,如果未能解决你的问题,请参考以下文章
我正在使用backbone.stickit 进行模型绑定。如何将预填充选择与模型绑定?
带有 [ngmodel] 的 Angular 材料 2 日期选择器