我使用的是angular7。我通过ControlValueAccessor创建了如下Stackblitz这样的子组件。我的表单中有一个组合框和文本框。当我从组合框中选择项目时,项目的值将设置为文本框。但是,当我单击“保存”按钮时,我的表单值变为空。变成空的原因可能是什么?
答案 0 :(得分:1)
您需要进行2项更改才能使其正常工作。
首先,您的onChange()
方法什么也不做。
将其更改为public onChange: (value) => void
。
然后在写入this.onChange(selected)
属性后在您的set selectedItem(selected)
上调用value
,使其变为
set selectedItem(selected) {
this.value = selected;
this.onChange(selected);
}