
我有几个使用 matInput 创建的输入字段。我已经按照父子结构创建了这个。我有一个与每个输入字段对应的删除图标。如果我单击删除图标,则必须从 UI 中删除相应的字段。附上图片以供参考,下面是代码。我有income-field.component 是子组件,而employee-details 是父组件。对此的任何帮助表示赞赏。谢谢!!
收入-field.component.html
<div [formGroup]="parentForm">
<mat-form-field >
<div class="delete-icon" *ngIf="showDeleteIcon" (click)="removeIncomeField($event, i)">
<img src="/assets/icons/delete_income.png"></div>
<input matInput [(value)]="value" [placeholder]="placeholder" type="number" (input)="change($event.target.value)"
[formControlName]="name" />
</mat-form-field>
</div>
income-field.component.ts:
export class IncomeFieldComponent {
@Input() placeholder;
@Input() value;
@Input() name;
@Input() showDeleteIcon;
@Output() textValue = new EventEmitter();
@Output() deleteIncomeField= new EventEmitter();
@Input() parentForm: FormControl;
isActive = false;
removeIncomeField(event: any) {
this.deleteIncomeField.emit(event);
}
change(value) {
this.value = +value;
this.textValue.emit(this.value);
}
}
employee-details.component.html:
<app-income-field placeholder="Business income" [value]=""
type="number" name="businessIncome" (textValue)="getTextValue($event, 'businessIncome')" [showDeleteIcon]="true"
[parentForm]="employee_info_form" id="business" (deleteIncomeField)="deleteSelectedField($event)">
</app-income-field>
<app-income-field placeholder="Real estate" [showDeleteIcon]="true" [value]=""
type="number" name="realEstateIncome" (deleteIncomeField)="deleteSelectedField($event)" (textValue)="getTextValue($event, 'realEstateIncome')"
[parentForm]="additional_info_form">
</app-income-field>