Sorry this could be reproduced with just this:
<input
[value]="selectedLeaderName$.value"
(input)="searchQuery$.next(search.value)"
formControlName="leader"
/>
What I expect to happen: The shown value to the end user would be the [value], the actual value of the formControlName (id in this case) would be handled programmatically and would not be shown to the end user.
What is currently happening: When I do change the value of my input, I get it from my search input component, which outputs the name and ID, so in my scenario I'm both receiving the id and name at the same time in here:
<app-search-items
[searchResults$]="searchResults$"
(selectedItemId)="guildForm.get('leader')?.setValue($event)"
(selectedItemName)="selectedLeaderName$.next($event)"
></app-search-items>
Reactive Forms are meant to manage both applying a value on a field and retrieving it, why do you pass a value also here?
I need to show the end-user the value (name in this case) but I need to use the ID for my API request, with my current setup, the form should have the ID, but the shown value should be the name.