I have a component A(child) which I want to display under component B(parent). Component "A"
<div [formGroup]="dbForm">
<div class="form-group">
<label class="form-label" for="dbServerID">Exposure Server</label>
<div>
<select formControlName="dbServer" class="form-control custom-select" id="dbServerId">
<option *ngFor="let ds of databaseServers" [ngValue]="ds">
{{ds.databaseServerName}}
</option>
</select>
</div>
</div>
</div>
Typescript page of control "A"
@Component({
selector: 'app-database-server',
templateUrl: './database-server.component.html',
styleUrls: ['./database-server.component.css']
})
export class DatabaseServerComponent implements OnInit {
dbForm: FormGroup;
constructor(private fb: FormBuilder) {
this.createForm();
}
createForm() {
this.dbForm = this.fb.group({
dbServer: ['', Validators.required ]
});
}
Html page of Component "B"
<form [formGroup]="newPfForm">
<div class="form-group">
<label class="form-label">Name</label>
<input class="form-control" type="text" formControlName="name" />
</div>
<div>
<app-database-server ></app-database-server>
</div>
</form>
<p>Form value: {{ newPfForm.value | json }}</p>
Typescript of Component "B"
@Component({
selector: 'app-new-portfolio',
templateUrl: './new-portfolio.component.html',
styleUrls: ['./new-portfolio.component.css']
})
export class NewPortfolioComponent implements OnInit {
newPfForm: FormGroup;
constructor(private fb: FormBuilder) {
}
ngOnInit() {
this.newPfForm = this.fb.group({
name: ['', [Validators.required, Validators.maxLength(10)]],
dbForm: this.fb.group({
dbServer: ['', Validators.required],
})
});
}
Now when I enter anything in the textbox of parent component it's visible in From value but if I select drop-down of child component, form value is not updating. Even I have spent 2 hrs but I am not able to find my mistake. screen shot of screen