Angular 从空值转换为字符串的反应 "null"

Angular reactive from null value cast to string "null"

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

<div>
    <label>My Dropdown</label>
    <select formControlName="someId">
        <option [value]="null">Choose whatever</option>
        <option *ngFor="let data of dataArr" [value]="data.id">
            {{ data.name }}
        </option>
    </select>
</div>

我的表单初始化如下:

this.formBuilder.group({
    //...
    someId: this.fb.control(null)
});

并使用标准 patchValue(model) 函数进行了修补。

问题是——当我选择“随便选择”选项时,这个 null 值变成 "null" 作为字符串。我的其他逻辑依赖于空值是 true null 而不是字符串。我怎样才能避免这种情况?

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

关键是要用[ngValue]

看到这个Stackblitz