import React, { useState } from 'react'; import { Cascader, Row, Col } from '@btri-ui/base'; const optionLists = [ { value: 'zhejiang', label: 'Zhejiang', isLeaf: false, }, { value: 'jiangsu', label: 'Jiangsu', isLeaf: false, }, ]; interface Option { value: string; label: string; children?: Option[]; isLeaf?: boolean; loading?: boolean; } export default () => { 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 ( ); };