aufgeloeste Verweis-Werte als ausgewaehlt zeigen
Der states-Dienst liefert Verweis-Felder POPULIERT (Liste von Objekten), die
Optionen tragen dagegen die Kennung als Wert. mat-select vergleicht ohne
compareWith per === — Objekt gegen Zeichenkette trifft nie, also war nichts
ausgewaehlt, obwohl der Wert da war. Im Browser am Feature "Anhang (HGB)"
gemessen: 21 Optionen geladen, 0 als ausgewaehlt gefuehrt.
Nicht nur Anzeige: mat-select multiple schreibt beim Speichern die Werte
zurueck, die es kennt — eine einzige Auswahl haette die unsichtbare
Zuordnung still ersetzt.
Der Wert wird deshalb vor dem ersten Rendern auf Kennungen zurueckgefuehrt
(emitEvent: false, kein dirty — die Maske speichert selbsttaetig auf
valueChanges). Bewusst nicht ueber compareWith: das haette allein die
Anzeige geheilt und weiter Objekte zum Server geschrieben.
Proben: 5 neue in multi-select-zeigt-gespeicherten-wert.spec.ts, davon zwei
als Flip-Probe belegt (vorher rot, nachher gruen); Reihe 30/30.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Optionen tragen dagegen die Kennung als Wert. mat-select vergleicht ohne
compareWith per === — Objekt gegen Zeichenkette trifft nie, also war nichts
ausgewaehlt, obwohl der Wert da war. Im Browser am Feature "Anhang (HGB)"
gemessen: 21 Optionen geladen, 0 als ausgewaehlt gefuehrt.
Nicht nur Anzeige: mat-select multiple schreibt beim Speichern die Werte
zurueck, die es kennt — eine einzige Auswahl haette die unsichtbare
Zuordnung still ersetzt.
Der Wert wird deshalb vor dem ersten Rendern auf Kennungen zurueckgefuehrt
(emitEvent: false, kein dirty — die Maske speichert selbsttaetig auf
valueChanges). Bewusst nicht ueber compareWith: das haette allein die
Anzeige geheilt und weiter Objekte zum Server geschrieben.
Proben: 5 neue in multi-select-zeigt-gespeicherten-wert.spec.ts, davon zwei
als Flip-Probe belegt (vorher rot, nachher gruen); Reihe 30/30.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>