/* 单个父节点以及其递归子节点的选择器 */ import React, {useState, useCallback} from 'react' import Selector from '../selector' import Icon from '../icon/index' import {SelectorProps} from './interface' import {ContactList} from './index' import './index.less' const TreeSelector: React.FC = (props: SelectorProps) => { const {itemNode, multi, selected, level, isShowFold, levelPadding = 24} = props const [folded, setFolded] = useState(level !== 1) const handleFold = useCallback(() => { setFolded(!folded) }, [folded]) const foldedNodeRender = () => { if (folded) return
return ( <> {!!itemNode?.departInfoList?.length && ( )} {!!itemNode?.children?.length && ( )} ) } return (
{itemNode.title}
{isShowFold && (
)}
{/* folded折叠不仅折叠子节点数据,还折叠组织下的departList数据 */} {foldedNodeRender()}
) } export default TreeSelector