UNPKG

@td-design/react-native-picker

Version:

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

47 lines 1.15 kB
import { useImperativeHandle } from 'react'; import { useMemoizedFn, useSafeState } from '@td-design/rn-hooks'; import dayjs from 'dayjs'; export default function useDatePicker(_ref) { let { onChange, value, format, ref } = _ref; const [date, setDate] = useSafeState(value); const [visible, setVisible] = useSafeState(false); useImperativeHandle(ref, () => ({ show: () => { setVisible(true); }, hide: () => { setVisible(false); }, getValue: () => { return { date, formatDate: dayjs(date).format(format) }; } })); const handleChange = date => { setDate(date); }; const handleClose = () => { setDate(value); setVisible(false); }; const handleOk = () => { const value = date ?? new Date(); onChange === null || onChange === void 0 ? void 0 : onChange(value, dayjs(value).format(format)); setVisible(false); }; return { date, visible, handleChange: useMemoizedFn(handleChange), handleOk: useMemoizedFn(handleOk), handleClose: useMemoizedFn(handleClose) }; } //# sourceMappingURL=useDatePicker.js.map