@aliretail/react-materials-components
Version:
137 lines (130 loc) • 2.79 kB
Markdown
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);
```