Skip to content

Commit 740ecd3

Browse files
committed
fix: update title on mounted
1 parent 9393f5c commit 740ecd3

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

src/components/EditorHeader/ControlPanel.jsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ export default function ControlPanel({
7676
}) {
7777
const [modal, setModal] = useState(MODAL.NONE);
7878
const [sidesheet, setSidesheet] = useState(SIDESHEET.NONE);
79-
const [prevTitle, setPrevTitle] = useState(title);
8079
const [showEditName, setShowEditName] = useState(false);
8180
const [importDb, setImportDb] = useState("");
8281
const [exportData, setExportData] = useState({
@@ -728,7 +727,6 @@ export default function ControlPanel({
728727
rename: {
729728
function: () => {
730729
setModal(MODAL.RENAME);
731-
setPrevTitle(title);
732730
},
733731
},
734732
delete_diagram: {
@@ -1309,10 +1307,8 @@ export default function ControlPanel({
13091307
setExportData={setExportData}
13101308
title={title}
13111309
setTitle={setTitle}
1312-
setPrevTitle={setPrevTitle}
13131310
setDiagramId={setDiagramId}
13141311
setModal={setModal}
1315-
prevTitle={prevTitle}
13161312
importDb={importDb}
13171313
/>
13181314
<Sidesheet

src/components/EditorHeader/Modal/Modal.jsx

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
Modal as SemiUIModal,
77
} from "@douyinfe/semi-ui";
88
import { DB, MODAL, STATUS } from "../../../data/constants";
9-
import { useState } from "react";
9+
import { useEffect, useState } from "react";
1010
import { db } from "../../../data/db";
1111
import {
1212
useAreas,
@@ -48,8 +48,6 @@ export default function Modal({
4848
setModal,
4949
title,
5050
setTitle,
51-
prevTitle,
52-
setPrevTitle,
5351
setDiagramId,
5452
exportData,
5553
setExportData,
@@ -65,6 +63,7 @@ export default function Modal({
6563
const { setTasks } = useTasks();
6664
const { setTransform } = useTransform();
6765
const { setUndoStack, setRedoStack } = useUndoRedo();
66+
const [uncontrolledTitle, setUncontrolledTitle] = useStateCallback(title);
6867
const [importSource, setImportSource] = useState({
6968
src: "",
7069
overwrite: true,
@@ -78,6 +77,12 @@ export default function Modal({
7877
const [selectedDiagramId, setSelectedDiagramId] = useState(0);
7978
const [saveAsTitle, setSaveAsTitle] = useState(title);
8079

80+
useEffect(() => {
81+
if (title !== uncontrolledTitle) {
82+
setUncontrolledTitle(title);
83+
}
84+
}, [title]);
85+
8186
const overwriteDiagram = () => {
8287
setTables(importData.tables);
8388
setRelationships(importData.relationships);
@@ -212,7 +217,7 @@ export default function Modal({
212217
setModal(MODAL.NONE);
213218
return;
214219
case MODAL.RENAME:
215-
setPrevTitle(title);
220+
setTitle(uncontrolledTitle);
216221
setModal(MODAL.NONE);
217222
return;
218223
case MODAL.SAVEAS:
@@ -256,7 +261,9 @@ export default function Modal({
256261
/>
257262
);
258263
case MODAL.RENAME:
259-
return <Rename title={title} setTitle={setTitle} />;
264+
return (
265+
<Rename title={uncontrolledTitle} setTitle={setUncontrolledTitle} />
266+
);
260267
case MODAL.OPEN:
261268
return (
262269
<Open
@@ -339,7 +346,7 @@ export default function Modal({
339346
});
340347
}}
341348
onCancel={() => {
342-
if (modal === MODAL.RENAME) setTitle(prevTitle);
349+
if (modal === MODAL.RENAME) setUncontrolledTitle(title);
343350
setModal(MODAL.NONE);
344351
}}
345352
centered

0 commit comments

Comments
 (0)