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

标签 angular

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

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

我创建了一个 stackblitz 来展示这种行为。请查看控制台的输出。

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

谢谢!

最佳答案

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

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

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

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

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

<强> Forked Stackblitz

关于 Angular 表单组未使用复选框值更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56810900/

相关文章:

javascript - 如何在单击时突出显示 Angular 2 中当前按下的按钮元素?

css - 向下滚动组件后,如何设置 'position:fixed' 而不将组件恢复到原来的位置?

javascript - ForEach 比我的 Observable 返回值更快

unit-testing - Angular NgModel双向绑定(bind)单元测试

Angular Material - 垫子选择中的垫子图标

angular - ngClass 最初不应用 css 类,仅在单击后应用

angular - 想要循环订阅API调用

angular - 是否可以在同一个域上运行 CMS 和 Angular?

父级中来自子级的 Angular2 模态调用方法

angular - ng-content 在选择标签 Angular2 中不起作用