import React from 'react'; import { Cascader } from 'antd'; import type { CascaderProps, GetProp } from 'antd'; type DefaultOptionType = GetProp[number]; interface Option { value: string; label: string; children?: Option[]; code?: number; } const options: Option[] = [ { value: 'zhejiang', label: 'Zhejiang', children: [ { value: 'hangzhou', label: 'Hangzhou', children: [ { value: 'xihu', label: 'West Lake', code: 752100, }, ], }, ], }, { value: 'jiangsu', label: 'Jiangsu', children: [ { value: 'nanjing', label: 'Nanjing', children: [ { value: 'zhonghuamen', label: 'Zhong Hua Men', code: 453400, }, ], }, ], }, ]; const handleAreaClick = ( e: React.MouseEvent, label: string, option: DefaultOptionType, ) => { e.stopPropagation(); console.log('clicked', label, option); }; const displayRender = (labels: string[], selectedOptions: DefaultOptionType[]) => labels.map((label, i) => { const option = selectedOptions[i]; if (i === labels.length - 1) { return ( {label} ( handleAreaClick(e, label, option)}>{option.code}) ); } return {label} / ; }); const App: React.FC = () => ( ); export default App;