UNPKG

cjd-parkball

Version:

> 中后台业务组件库,中后台就像公园,进入需要买门票(登录),所以以 Parkball(公园球) 命名,公园内必定捕获!作为一个组件库,提供使用方法文档,方便开发者的调用

75 lines (60 loc) 1.41 kB
--- category: 2 title: 动态加载选项 title_en: Load Options Lazily --- zh-CN 使用 `loadData` 实现动态加载选项。 > 注意:`loadData``showSearch` 无法一起使用。 en-US Load options lazily with `loadData`. > Note: `loadData` cannot work with `showSearch`. ````jsx import { Cascader } from 'parkball'; const options = [{ value: 'zhejiang', label: 'Zhejiang', isLeaf: false, }, { value: 'jiangsu', label: 'Jiangsu', isLeaf: false, }]; class LazyOptions extends React.Component { state = { options, }; onChange = (value, selectedOptions) => { console.log(value, selectedOptions); } loadData = (selectedOptions) => { 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', }]; this.setState({ options: [...this.state.options], }); }, 1000); } render() { return ( <Cascader options={this.state.options} loadData={this.loadData} onChange={this.onChange} changeOnSelect /> ); } } ReactDOM.render(<LazyOptions />, mountNode); ````