--- order: 9 title: zh-CN: 动态加载选项 en-US: Load Options Lazily --- ## zh-CN 使用 `loadData` 实现动态加载选项。 > 注意:`loadData` 与 `showSearch` 无法一起使用。 ## en-US Load options lazily with `loadData`. > Note: `loadData` cannot work with `showSearch`. ```tsx 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; ```