我很难弄清很可能是我的错误。
我正在创建一个自定义动态表单组件,该组件将允许开发人员仅使用TS创建表单。复选框正在发生问题。如果在单击复选框之前,我读了FormGroup的值,则为undefined
,如果单击它,它将变成(正确)true
,但是如果我再次单击,它仍然(不正确)为true
。我在这里想念什么?
我创建了一个堆栈闪电来显示此行为。请查看控制台的输出。
https://stackblitz.com/edit/angular-fydiwl
谢谢!
答案 0 :(得分:4)
这里的问题是,由于您使用动态type
,因此Angular无法为您的控件识别适当的ControlValueAccessor:
<input ... type="{{inputType}}"
复选框looks for specific type的while访问器
@Directive({
selector: 'input[type=checkbox]...
这意味着您必须明确指定<input type="checkbox"
才能正常工作。