UNPKG

@schema-render/search-table-react

Version:
39 lines (38 loc) 1.85 kB
import { useForceUpdate } from "@schema-render/core-react"; import { useImperativeHandle } from "react"; export default function useOpenApi({ ref, rootElemRef, searchRef, requestParamsRef, requestExtraParamsRef, searchValueRef, dataSource, updateDataSource, updateSummaryData, updateScrollY, openSettingModal, runRequest }) { const { forceUpdate } = useForceUpdate(); // 开放 API useImperativeHandle(ref, ()=>({ refresh: runRequest, getRootElement: ()=>rootElemRef.current, getSearchRef: ()=>searchRef.current, getRequestParams: ()=>requestParamsRef.current, getRequestExtraParams: ()=>requestExtraParamsRef.current, getSearchValue: ()=>searchValueRef.current, setSearchValue: (value, options)=>{ var _searchRef_current; const nextValue = (options === null || options === void 0 ? void 0 : options.overwrite) ? value : { ...searchValueRef.current, ...value }; (_searchRef_current = searchRef.current) === null || _searchRef_current === void 0 ? void 0 : _searchRef_current.setValue(nextValue); }, clearSearchValue: ()=>{ var _searchRef_current; return (_searchRef_current = searchRef.current) === null || _searchRef_current === void 0 ? void 0 : _searchRef_current.resetValue(); }, getDataSource: ()=>dataSource, setDataSource: (data)=>{ updateDataSource(data); forceUpdate(); }, setSummaryData: (data)=>{ updateSummaryData(data); forceUpdate(); }, updateScrollY, openSettingModal, rerender: forceUpdate })); }