在example in the official demo app之后我写了这段代码:
<md-button-toggle-group name="typeToggle" [(ngModel)]="chosenType" multiple>
<md-button-toggle *ngFor="let type of subTypes" [value]="type">
{{type}}
</md-button-toggle>
</md-button-toggle-group>
但是我收到了错误
core.es5.js:1084
ERROR Error: Uncaught (in promise): Error: No value accessor for form control with name: 'typeToggle'
Error: No value accessor for form control with name: 'typeToggle'
我错过了什么吗?
删除name
属性会导致:
core.es5.js:1084
ERROR Error: Uncaught (in promise): Error: No value accessor for form control with unspecified name attribute
Error: No value accessor for form control with unspecified name attribute
删除multiple
可以消除错误,但会使用户只允许选择一个。根据Material 2文档,此语法支持选择多个。是否有另一种未记录的方式来选择多个?我需要能够一次选择多个按钮 - 我已经看到了很多这种行为的演示。
答案 0 :(得分:3)
我不知道为什么它会被打破,但这是一个修复。
<md-button-toggle-group name="typeToggle" [(ngModel)]="chosenType" multiple ngDefaultControl>
<md-button-toggle *ngFor="let type of subTypes" [value]="type">
{{type}}
</md-button-toggle>
</md-button-toggle-group>
提供一些见解,显然文档现在表明多个不支持ngModel
,并且可以使用(click)
访问值。但是,通过添加ngDefaultControl
,可以访问该值。这有点像黑客,但到目前为止它都有效。