Angular表单组未使用复选框值更新

时间:2019-06-28 17:15:05

标签: angular

我很难弄清很可能是我的错误。

我正在创建一个自定义动态表单组件,该组件将允许开发人员仅使用TS创建表单。复选框正在发生问题。如果在单击复选框之前,我读了FormGroup的值,则为undefined,如果单击它,它将变成(正确)true,但是如果我再次单击,它仍然(不正确)为true 。我在这里想念什么?

我创建了一个堆栈闪电来显示此行为。请查看控制台的输出。

https://stackblitz.com/edit/angular-fydiwl

谢谢!

1 个答案:

答案 0 :(得分:4)

这里的问题是,由于您使用动态type,因此Angular无法为您的控件识别适当的ControlValueAccessor:

<input ... type="{{inputType}}" 

复选框looks for specific type的while访问器

@Directive({
  selector: 'input[type=checkbox]...

这意味着您必须明确指定<input type="checkbox"才能正常工作。

Forked Stackblitz