import React, { useEffect, useState, useRef } from "react" import { Tree as AntdTree, Spin } from "antd" import { StateManage } from "../../../service/state" import { observer } from "mobx-react" import { ACTIONS } from "./config" import { Empty } from "antd" export const Tree = (props: { service, height, positionKey }) => { const { height, positionKey, service } = props const Template = observer(() => { const [treeData, setTreeData] = useState([]) const { expandedKeys, loading, selectedKeys = [] } = StateManage.get(service.controlKey) const treeRef = useRef() service.treeRef = treeRef service.setTreeData = setTreeData useEffect(() => { StateManage.set(service.controlKey, { loading: true }) service.initTree().then(() => { service.triggerCallback(ACTIONS.didMount) if (positionKey) { service.triggerOnSelectOption(positionKey) } }) }, []) return {(service.isEmptyData()) ? : null} }) return