import React, { useState, useMemo, useRef, createContext } from 'react';
import { Tree, Input, Popconfirm, Tooltip, Divider, Modal, message } from 'antd';
import { MinusSquareOutlined, FormOutlined, PlusSquareOutlined } from '@ant-design/icons';
import getPrem from '@/utils/getPrem';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
const ReachableContext = createContext(null);
let { Search } = Input,
{ TreeNode } = Tree;
function TreeRender({ url, deleteurl, saveurl, onselected }) {
const [search, setsearch] = useState("");
const [savetitle, setsavetitle] = useState(null);
const [modal, setModal] = useState({
visible: false
});
const { data, loading, refresh } = useRequest(() => {
return doFetch({ url, params: { title: search } })
}, {
refreshDeps: [search]
});
const ref1 = useRef(), ref2 = useRef();
const treeData = useMemo(() => {
let res = data?.data?.dataList ?? [];
return [
{
title: "全部",
key: "",
children: res
}
]
}, [data]);
const loop = data => data.map(item => {
const index = item.title.indexOf(search);
const beforeStr = item.title.substr(0, index);
const afterStr = item.title.substr(index + search.length);
const title =
index > -1 ? (