UNPKG

xph-form

Version:

This is a configurable form component that supports React

32 lines (31 loc) 1.27 kB
import { jsx as _jsx } from "react/jsx-runtime"; import React from "react"; import { TreeSelect } from "antd"; import { useApiComonentCache } from "../../hooks"; const ApiTreeSelect = (apiTreeSelectProps) => { console.log("render ApiTreeSelect"); const { api, params, immediate = true, isusewatch, onDropdownVisibleChange: onDropdownVisibleChangeProp, } = apiTreeSelectProps; const isUseWatch = isusewatch === "true"; const [treeData, setTreeData] = React.useState([]); const { getApiData: getApiOptions } = useApiComonentCache({ api, immediate, params, apiCallback: setTreeData, isUseWatch, }); const onDropdownVisibleChange = (visible) => { if (visible) { /** 目前每次展开都会请求 */ !immediate && getApiOptions(); } onDropdownVisibleChangeProp && onDropdownVisibleChangeProp(visible); }; /** 把扩展的属性排除掉 */ const getTreeSelectProps = () => { const { api, params, immediate, isusewatch, ...rest } = apiTreeSelectProps; return rest; }; return (_jsx(TreeSelect, { ...getTreeSelectProps(), treeData: treeData, onDropdownVisibleChange: onDropdownVisibleChange })); }; export default ApiTreeSelect;