@schema-render/search-table-react
Version:
Conditional search table component.
39 lines (38 loc) • 1.85 kB
JavaScript
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
}));
}