React antd 4.x 异步加载treeSelect 返显
使用antd4.x treeSelect 异步加载要做到显示保存其实很简单,返显需要一些处理才能实现
首先需要使用到
treeExpandedKeys
展开属性, 在异步加载的treeSelect 使用treeExpandedKeys
是能够触发onLoad
事件,会自动调用接口去请求数据完成返显, 下面是基于我的业务部分实现, 有些参数是基于我自己的业务,自己甄别就好
import React, {
FC, useEffect, useState} from "react";
import _ from "lodash";
import {
TreeSelect} from "antd";
import {
history} from "@@/core/history";
import {
getXiangYuTree} from "@/components/Editor/components/RightMenu/BasicInfo/CustomField/service";
//翔宇加载异步treeSelect
interface IProps {
nowValue: any;
item: any;
changeValue: (value: string, code: string, type: string) => void
extend: any[];
replaceValue: any
cid: string
}
const XYLoadTree: FC<IProps> = (props) => {
const {
nowValue, item, changeValue, extend, replaceValue, cid} = props
const [treeData, setData] = useState([])
const [parentId, setParentId] = useState(0)
const [label, setLabel] = useState('')
const [initState, setState] = useState(false)
const [TreeExpand, setTreeExpand] = useState<string[]>(['0'])
const [treeLoadedKeys, seTtreeLoadedKeys] = useState<string[]>([])
const siteId = extend.find( item => item.code === "siteId" ).value
// 判断是否叶子节点, 各有实现方式随意就好
const isLeafs =