angular - 使用可观察的 ngIf 显示/隐藏表单提交按钮
问题描述
我想在表单有效时显示表单的提交按钮。为了将表单组传递给组成表单的各种组件,我使用了这样的 FormGroup Observable。
private declarationForm: BehaviorSubject<FormGroup | undefined>;
declarationForm$: Observable<FormGroup>;
constructor(){
this.declarationForm = new BehaviorSubject(
this.fb.group(new DeclarationForm(new DeclarationModel()))
);
this.declarationForm$ = this.declarationForm.asObservable();
}
然后,在持有提交按钮的组件上,我想做这样的事情:
<div *ngIf="declarationForm.valid">
<button>Submit</button>
</div>
到目前为止,我尝试的是订阅declarationForm$
AfterViewInit 钩子上的 observable,这会导致Expression has changed after it was checked
错误,然后我尝试像这样将 observable 传递给模板。
<div *ngIf="declarationForm$ | async as form">
</div>
但我不知道如何获得valid
财产...
有谁知道我该怎么写这个?
解决方案
看看这个stackblitz。
推荐阅读
- webview - ploblem jquery slideUP,slideDown不流畅的webview
- python-3.x - 从数据框列python转换所有日期
- python - Pyhon:当XX是我自己创建的文件或XX是python库文件(如pytorch)时“from XX import *”的区别
- angular - Angular - 动态选择组件
- ios - 使用 Xcode 在 Swift 中 Ping localhost
- python-3.x - 如何在 Python Pandas 数据帧的时间序列图上添加信号点?
- javascript - MUI:无法通过主题嵌套覆盖 fontFamily
- ios - 让 theos 连接到 SBStatusBarManager
- reactjs - 在 ReactJS 中进行可恢复上传时,无法在谷歌云中上传空文件。它显示 CORS 错误
- javascript - 电子邮件注册表单模式