import React, { useState } from 'react'; import { Cascader } from 'antd'; interface Option { value: string; label: string; children?: Option[]; isLeaf?: boolean; loading?: boolean; } const optionLists: Option[] = [ { value: 'zhejiang', label: 'Zhejiang', isLeaf: false, }, { value: 'jiangsu', label: 'Jiangsu', isLeaf: false, }, ]; const App: React.FC = () => { const [options, setOptions] = useState(optionLists); const onChange = (value: string[], selectedOptions: Option[]) => { console.log(value, selectedOptions); }; const loadData = (selectedOptions: Option[]) => { const targetOption = selectedOptions[selectedOptions.length - 1]; targetOption.loading = true; // load options lazily setTimeout(() => { targetOption.loading = false; targetOption.children = [ { label: `${targetOption.label} Dynamic 1`, value: 'dynamic1', }, { label: `${targetOption.label} Dynamic 2`, value: 'dynamic2', }, ]; setOptions([...options]); }, 1000); }; return ; }; export default App;