Angular 14-如何指定表单控件没有定义



假设我有一个表单:-

searchForm = new FormGroup({
SearchBox = new FormControl<string>('', {nonNullable: true});
)}

我试着这样做:-

this.Query = this.searchForm.SearchBox.value;

Query属性的类型是字符串,我得到了错误。

"类型"string|undefined"不可分配给类型"string"。

我可以使用!操作员让它像这样工作。

this.Query = this.searchForm.SearchBox.value!;

但是,这是告诉它表单控件不会未定义的最佳方式吗?有比扇耳光更好的方法吗!我想在任何地方将窗体控件的值分配给组件中的属性?

添加类型undefined是因为如果禁用控件,它将不会包含在值对象中。点击此处阅读更多关于棱角分明的文档。

如果您想访问包含禁用控件的值,从而绕过可能的未定义字段,可以使用searchForm.getRawValue()

最新更新