UNPKG

xph-form

Version:

This is a configurable form component that supports React

31 lines (30 loc) 980 B
import { useRef } from "react"; const useFormCollapse = (formProps, formItemRefs) => { const { collapsible, collapseNum } = formProps; const collapseRef = useRef(); const onClickCollapseToTrue = () => { formItemRefs.current?.forEach((ref) => { if (ref.current) { const { itemIndex } = ref.current; const flag = itemIndex >= collapseNum && collapsible; flag && ref.current.setItemCollapse(true); } }); }; const onClickCollapseToFalse = () => { formItemRefs.current?.forEach((ref) => { if (ref.current) { const { itemCollapse } = ref.current; itemCollapse && ref.current.setItemCollapse(false); } }); }; return { collapsible, collapseNum: collapseNum, collapseRef, onClickCollapseToTrue, onClickCollapseToFalse, }; }; export default useFormCollapse;