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>
|
</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 && (
|
{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 && (
|
{showAdd && firstPhase && (
|
||||||
@@ -478,6 +484,7 @@ export function PlanView({
|
|||||||
const context = buildTransitionContext(fromPhase, toPhase, element);
|
const context = buildTransitionContext(fromPhase, toPhase, element);
|
||||||
return (
|
return (
|
||||||
<TransitionCellDialog
|
<TransitionCellDialog
|
||||||
|
key={`${editTransition.elementId}-${editTransition.fromPhaseId}`}
|
||||||
element={element}
|
element={element}
|
||||||
fromPhase={fromPhase}
|
fromPhase={fromPhase}
|
||||||
toPhase={toPhase}
|
toPhase={toPhase}
|
||||||
|
|||||||
Reference in New Issue
Block a user