fix(analysis): preserve tab panel state
This commit is contained in:
@@ -17,8 +17,14 @@ import {
|
||||
Search as SearchIcon,
|
||||
MyLocation as MyLocationIcon,
|
||||
} from "@mui/icons-material";
|
||||
import ContaminantAnalysisParameters from "./AnalysisParameters";
|
||||
import ContaminantSchemeQuery from "./SchemeQuery";
|
||||
import ContaminantAnalysisParameters, {
|
||||
createContaminantAnalysisParametersState,
|
||||
type ContaminantAnalysisParametersState,
|
||||
} from "./AnalysisParameters";
|
||||
import ContaminantSchemeQuery, {
|
||||
createContaminantSchemeQueryState,
|
||||
type ContaminantSchemeQueryState,
|
||||
} from "./SchemeQuery";
|
||||
import { useData } from "@components/olmap/core/MapComponent";
|
||||
import { ContaminantSchemeRecord } from "./types";
|
||||
|
||||
@@ -34,6 +40,14 @@ const WaterQualityPanel: React.FC<WaterQualityPanelProps> = ({
|
||||
const [internalOpen, setInternalOpen] = useState(true);
|
||||
const [currentTab, setCurrentTab] = useState(0);
|
||||
const [schemes, setSchemes] = useState<ContaminantSchemeRecord[]>([]);
|
||||
const [analysisState, setAnalysisState] =
|
||||
useState<ContaminantAnalysisParametersState>(
|
||||
createContaminantAnalysisParametersState,
|
||||
);
|
||||
const [queryState, setQueryState] =
|
||||
useState<ContaminantSchemeQueryState>(
|
||||
createContaminantSchemeQueryState,
|
||||
);
|
||||
|
||||
const data = useData();
|
||||
|
||||
@@ -170,7 +184,10 @@ const WaterQualityPanel: React.FC<WaterQualityPanelProps> = ({
|
||||
|
||||
{/* Tab 内容 */}
|
||||
<TabPanel value={currentTab} index={0}>
|
||||
<ContaminantAnalysisParameters />
|
||||
<ContaminantAnalysisParameters
|
||||
state={analysisState}
|
||||
onStateChange={setAnalysisState}
|
||||
/>
|
||||
</TabPanel>
|
||||
|
||||
<TabPanel value={currentTab} index={1}>
|
||||
@@ -178,6 +195,8 @@ const WaterQualityPanel: React.FC<WaterQualityPanelProps> = ({
|
||||
schemes={schemes}
|
||||
onSchemesChange={setSchemes}
|
||||
onViewResults={() => setCurrentTab(2)}
|
||||
state={queryState}
|
||||
onStateChange={setQueryState}
|
||||
/>
|
||||
</TabPanel>
|
||||
</Box>
|
||||
|
||||
Reference in New Issue
Block a user