Merge "feat: Add tree select form item"
This commit is contained in:
commit
fd6340c84d
45
src/components/FormItem/TreeSelect/index.jsx
Normal file
45
src/components/FormItem/TreeSelect/index.jsx
Normal file
@ -0,0 +1,45 @@
|
||||
import React, { Component } from 'react';
|
||||
import { TreeSelect } from 'antd';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
export default class Index extends Component {
|
||||
onChange = (value) => {
|
||||
const { onChange } = this.props;
|
||||
if (onChange) {
|
||||
onChange(value);
|
||||
}
|
||||
};
|
||||
|
||||
getValue = () => {
|
||||
const { value, isWrappedValue } = this.props;
|
||||
if (value === undefined) return value;
|
||||
return isWrappedValue ? value.value : value;
|
||||
};
|
||||
|
||||
render() {
|
||||
const {
|
||||
treeData,
|
||||
placeholder = t('Please select'),
|
||||
disabled = false,
|
||||
} = this.props;
|
||||
return (
|
||||
<TreeSelect
|
||||
className={this.props.className}
|
||||
showSearch
|
||||
allowClear
|
||||
placeholder={placeholder}
|
||||
treeData={treeData}
|
||||
disabled={disabled}
|
||||
value={this.getValue()}
|
||||
onChange={this.onChange}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Index.propTypes = {
|
||||
value: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
|
||||
isWrappedValue: PropTypes.bool,
|
||||
treeData: PropTypes.array,
|
||||
onChange: PropTypes.func,
|
||||
};
|
@ -57,6 +57,7 @@ import MetadataTransfer from './MetadataTransfer';
|
||||
import NetworkSelectTable from './NetworkSelectTable';
|
||||
import VolumeSelectTable from './VolumeSelectTable';
|
||||
import TabSelectTable from './TabSelectTable';
|
||||
import TreeSelect from './TreeSelect';
|
||||
// import styles from './index.less';
|
||||
|
||||
const type2component = {
|
||||
@ -101,6 +102,7 @@ const type2component = {
|
||||
'metadata-transfer': MetadataTransfer,
|
||||
aceEditor: AceEditor,
|
||||
'input-json': JsonInput,
|
||||
'tree-select': TreeSelect,
|
||||
};
|
||||
|
||||
export default class FormItem extends React.Component {
|
||||
|
Loading…
Reference in New Issue
Block a user