UNPKG

@fruits-chain/react-native-xiaoshu

Version:
51 lines (48 loc) 1.25 kB
"use strict"; import React, { useEffect, memo } from 'react'; import { callInterceptor } from "../helpers/index.js"; import { usePersistFn } from "../hooks/index.js"; import useState from "../hooks/useStateUpdate.js"; import Selector from "./selector.js"; /** * Selector 函数使用时对应需要的组件 */ import { jsx as _jsx } from "react/jsx-runtime"; const SelectorMethod = ({ onChange, onClose, beforeChange, ...restProps }) => { const [visible, setVisible] = useState(false); const onChangePersistFn = usePersistFn((v, o) => { callInterceptor(beforeChange, { args: [v, o], done: () => { onChange?.(v, o); setVisible(false); } }); }); const onClosePersistFn = usePersistFn(() => { onClose?.(); setVisible(false); }); const onRequestClose = usePersistFn(() => { onClosePersistFn(); return true; }); // 节点加载好后显示 useEffect(() => { setVisible(true); }, []); return /*#__PURE__*/_jsx(Selector, { ...restProps, visible: visible, onChange: onChangePersistFn, onClose: onClosePersistFn, onRequestClose: onRequestClose }); }; export default /*#__PURE__*/memo(SelectorMethod); //# sourceMappingURL=selector-method.js.map