所以说我有两种类似的形式:购买形式和出售形式。
“购买”表单有4个输入项:名称,价格,日期,购买原因
销售表格有4个输入项:名称,价格,日期,出售原因
由于这两个表单非常相似,因此我想在一个组件中创建它们两者(并使用表单顶部的按钮在它们之间进行切换)。这样,当我更改样式或决定将输入的“名称”更改为“模型名称”时,两种形式都将显示更改。
我也想使用不同的函数来提交这两种方法。
到目前为止,我尝试使用ngIf隐藏输入(取决于是“购买”还是“出售”),然后单击2个按钮并使用(单击)提交表单,而不是使用(ngSubmit)。
(something like this)
<form [formGroup]="positionForm" >
<label for="ticker">Ticker:</label>
<input formControlName="ticker" placeholder="ticker symbol"/>
<input formControlName="price" placeholder="buy price" />
<input formControlName="date" placeholder="purchase date" />
<input *ngIf="buy" formControlName="sellReason" placeholder="sell reason" />
<input *ngIf="!buy" formControlName="buyReason" placeholder="buy reason" />
<button *ngIf="buy" [disabled]="positionForm.invalid"type="submit"(click)="saveBuyDetailForm(positionForm.value)">Save</button>
<button *ngIf="!buy" [disabled]="positionForm.invalid" type="submit"(click)="saveSellDetailForm(positionForm.value)">Save</button>
</form>
但是,我想在表单的所有字段上使用Validators.required。在我的实现中,当我隐藏输入时,该表格将无效,因此无法提交。
我该如何在自己的实例中实现我的2种相似形式?并可能根据所选择的表单将它们放入不同的formGroup中?