UNPKG

@td-design/react-native-picker

Version:

基于 @td-design/react-native 的 picker 组件

40 lines 1.03 kB
import { useImperativeHandle } from 'react'; import { useMemoizedFn, useSafeState } from '@td-design/rn-hooks'; export default function useNormalPicker(_ref) { let { value, initialValue, onChange, ref } = _ref; const [selectedValue, selectValue] = useSafeState(value || initialValue); const [visible, setVisible] = useSafeState(false); useImperativeHandle(ref, () => ({ show: () => { setVisible(true); }, hide: () => { setVisible(false); } })); const handleChange = val => { selectValue(val.value); }; const handleClose = () => { selectValue(value); setVisible(false); }; const handleOk = () => { onChange === null || onChange === void 0 ? void 0 : onChange(selectedValue || initialValue); setVisible(false); }; return { selectedValue, visible, ref, handleChange: useMemoizedFn(handleChange), handleOk: useMemoizedFn(handleOk), handleClose: useMemoizedFn(handleClose) }; } //# sourceMappingURL=useNormalPicker.js.map