UNPKG

@aliretail/react-materials-components

Version:
137 lines (130 loc) 2.79 kB
--- title: AreaSelector-多选 order: 2 --- ```jsx import React, { Component } from 'react'; import ReactDOM from 'react-dom'; import { AreaSelector } from '@aliretail/react-materials-components'; const data = [ { children: [], label: '澳门特别行政区', divLevel: 1, value: '820000', }, { label: '浙江省', divLevel: 1, value: '330000', children: [ { parentCode: '330000', label: '杭州市', divLevel: 2, value: '330100', children: [ { children: [], parentCode: '330100', label: '余杭区', divLevel: 3, value: '330110', }, { children: [], parentCode: '330100', label: '西湖区', divLevel: 3, value: '330106', }, ], }, { parentCode: '330000', label: '台州市', divLevel: 2, value: '331000', children: [ { children: [], parentCode: '331000', label: '临海市', divLevel: 3, value: '331082', }, { children: [ { parentCode: '331001', label: 'xxx', divLevel: 4, value: '9999999', children: [], }, ], parentCode: '331000', label: '市辖区', divLevel: 3, value: '331001', }, ], }, ], }, ]; class App extends Component { constructor(props) { super(props); this.state = { // 多选回显code数组 value: [ { name: '浙江省', code: '330000', childElements: [ { name: '台州市', code: '331000', childElements: [ { name: '市辖区', code: '331001', childElements: [{ code: '9999999' }], }, ], }, ], }, ], dataSource: [], }; } componentDidMount() { this.setState({ dataSource: data, }); } // select改变触发 onMultiChange = (value, codeData, renderData, item, obj) => { console.log('onMultiChange', value, codeData, renderData, item, obj); this.setState({ value, }); }; render() { return ( <div> <AreaSelector onChange={this.onMultiChange} value={this.state.value} multiple dataSource={this.state.dataSource} hasClear /> </div> ); } } ReactDOM.render(<App />, mountNode); ```