Fix: Detail-Panel uebernahm Formularwerte vom vorher geoeffneten Element
Deploy App / deploy (push) Successful in 1m0s
Deploy App / deploy (push) Successful in 1m0s
Das untere Detail-Panel (ElementDetail/PhaseDetail) initialisiert seinen lokalen Formular-Zustand nur beim Mounten. Ohne key wurde beim Wechsel der Zelle/Phase dieselbe Instanz wiederverwendet -> Werte (z. B. Zusatzinvestition) blieben vom zuvor geoeffneten Element haengen. Fix: key pro Auswahl (Zelle/Phase) erzwingt Neuaufbau. Analog key am Uebergangs-Popup. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -411,9 +411,15 @@ export function PlanView({
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Detail-Panel */}
|
||||
{/* Detail-Panel. Der key erzwingt beim Wechsel von Zelle/Phase einen Neuaufbau,
|
||||
damit der lokale Formular-Zustand nicht vom vorher geoeffneten Element uebrig bleibt. */}
|
||||
{selected && (
|
||||
<div className="rounded-xl border border-accent bg-surface p-4 shadow-sm">{renderDetail()}</div>
|
||||
<div
|
||||
key={selected.type === "phase" ? `ph-${selected.phaseId}` : `pc-${selected.elementId}-${selected.phaseId}`}
|
||||
className="rounded-xl border border-accent bg-surface p-4 shadow-sm"
|
||||
>
|
||||
{renderDetail()}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{showAdd && firstPhase && (
|
||||
@@ -478,6 +484,7 @@ export function PlanView({
|
||||
const context = buildTransitionContext(fromPhase, toPhase, element);
|
||||
return (
|
||||
<TransitionCellDialog
|
||||
key={`${editTransition.elementId}-${editTransition.fromPhaseId}`}
|
||||
element={element}
|
||||
fromPhase={fromPhase}
|
||||
toPhase={toPhase}
|
||||
|
||||
Reference in New Issue
Block a user