49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
|
|
import React from 'react';
|
|
import { TreeSelect } from 'antd';
|
|
|
|
const { TreeNode } = TreeSelect;
|
|
|
|
class NamespaceSelect extends React.Component {
|
|
state = {
|
|
value: undefined,
|
|
};
|
|
|
|
onChange = (value) => {
|
|
console.log(value);
|
|
if (!value.match('%#@')) {
|
|
this.setState({ value });
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
render() {
|
|
return (
|
|
<TreeSelect
|
|
showSearch
|
|
style={{ width: '100%' }}
|
|
value={this.state.value}
|
|
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
|
|
placeholder="Please select"
|
|
allowClear
|
|
multiple={false}
|
|
treeDefaultExpandAll
|
|
onChange={this.onChange}
|
|
>
|
|
<TreeNode value="parent %#@" title="parent 112312312321312313132131313131231" key="0-1">
|
|
<TreeNode value="parent 1%#@0" title="parent 112312312321312313132131313131231-0" key="0-1-1">
|
|
<TreeNode value="leaf1" title="my leaf" key="random" />
|
|
<TreeNode value="leaf2" title="your leaf" key="random1" />
|
|
</TreeNode>
|
|
<TreeNode value="parent 1-1" title="parent 1-1" key="random2">
|
|
<TreeNode value="sss" title={<b style={{ color: '#08c' }}>sss</b>} key="random3" />
|
|
</TreeNode>
|
|
</TreeNode>
|
|
</TreeSelect>
|
|
);
|
|
}
|
|
}
|
|
|
|
export default NamespaceSelect; |