我很难弄清楚某些很可能是我的错误。
我正在创建一个自定义动态表单组件,该组件将允许开发人员仅使用 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"
明确地使其正常工作。
关于 Angular 表单组未使用复选框值更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56810900/