获取异步管道形式值的值(可在输入的值属性中观察到)

get value of async pipe form value (observable in value attribute of input)

我有文本表单输入,我希望它们充当表单并显示提交表单时设置的值。问题是当我提交表单并获取开始值 (form.controls.start.value) 时出现错误,因为当我在控制台中查看表单时该值是可观察到的。错误显示 cannot get value of undefined.

我有一个 observable start$,它用当前值填充我的输入:

<div class="col">
     Pool Start:
</div>
<div class="col">
     <input
           type="text"
           class="form-control"
           formControlName="start"
           [value]="start$ | async"
     >
</div>

它是表格的一部分:

this.dhcpForm = this.formBuilder.group({
            'start': [this.start$],
            'end': [this.end$],
            'lease': [this.lease$]
});

这是我分配表单值的提交函数:

console.log(dhcpForm);
const start = dhcpForm.controls.start.value;
const end = dhcpForm.controls.end.value;
const lease = dhcpForm.controls.lease.value;

再次重申我的问题,当值为 'observable' 时,如何在提交表单后在输入字段中呈现值?

这是表单输出:

here is an example of my code*(*请在单独的 window 或 fork 中编辑此代码,以便此版本对所有人保持相同)

我查看了实时示例,我可以通过删除异步管道并使用 patchValue 设置表单来使其工作。查看分叉版本:

https://stackblitz.com/edit/angular-ipe8hd

这样能达到您想要的效果吗?我认为您根本不需要在这里执行 [value] 或使用异步管道...fork 的代码更少。让我知道这是否是您想要的功能以及您是否希望它以某种方式显示。