角度反应从空值转换为字符串“null”

dze*_*siz 0 null types typescript angular angular-reactive-forms

我正在编写一个反应式表单,其中某些下拉值默认为 null,如下所示:

\n
<div>\n    <label>My Dropdown</label>\n    <select formControlName="someId">\n        <option [value]="null">Choose whatever</option>\n        <option *ngFor="let data of dataArr" [value]="data.id">\n            {{ data.name }}\n        </option>\n    </select>\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n

我的表单初始化如下:

\n
this.formBuilder.group({\n    //...\n    someId: this.fb.control(null)\n});\n
Run Code Online (Sandbox Code Playgroud)\n

并用标准补丁patchValue(model)功能。

\n

问题是 \xe2\x80\x93 当我选择“选择任何”选项时,该null值变成"null"字符串。我的其他逻辑依赖于空值为真null而不是字符串。我怎样才能避免这种情况?

\n

如果它很重要,我用来修补表单的模型的类型stringsomeId。这是一个因素吗?

\n

rob*_*ert 5

关键是要使用[ngValue]

看看这个堆栈闪电战