我正在使用 angular2-materialize 与 materialize-css 一起使用 angular2 。即使是正常的选择组件,所有也能正常工作。 问题是多选 它不会呈现动态值,我不明白它是否与初始化对象或其它因为它适用于正常选择,但是如果我添加静态选项,并且在渲染后如果我单击该选项,则调用更改事件,然后如果我再次单击它,则所有这些动态值都会添加到组合。
以下是我的代码,但如果没有任何正确的解决方案,我可以使用任何解决方法或除了materialize-css之外的任何其他框架,该框架已经过测试并且与angular2一起使用。
<div class="form-group">
<!--if i remoe multiple it works-->
<select
materialize="material_select"
multiple
(ngModelChange)="change($event)"
[ngModel]="prodmodel.CategoryId"
ngControl="CategoryId" #catid="ngForm">
<!--This options are not rendering-->
<option *ngFor="#p of categories"
[value]="p.id">
{{p.CategoryTitle}}
</option>
<!--This option will render and if i click it above options will render too but not in oproper way-->
<option value="0">chhose</option>
</select>
<label>select Category </label>
</div>
我获取类别的功能:
getCategories() {
this._Categories.getCategories()
.subscribe(
Categories=> this.Categories= Categories,
error => this.errorMessage = <any>error);
}
答案 0 :(得分:3)
现在使用最新版本的angular2-materialize解决了这个问题。请在此处查看错误并修复详细信息:https://github.com/InfomediaLtd/angular2-materialize/issues/21
这是您可以触发更新以选择选项元素的方法(使用 materializeSelectOptions ):
<select materialize="material_select" [materializeSelectOptions]="selectOptions">
<option *ngFor="let option of selectOptions" [value]="option.value">{{option.name}}</option>
</select>