UNPKG

@td-design/react-native-picker

Version:

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

43 lines 1.36 kB
import { useRef } from 'react'; import { Keyboard } from 'react-native'; import { useMemoizedFn, useSafeState } from '@td-design/rn-hooks'; import dayjs from 'dayjs'; function getText(value, format, placeholder) { if (value) { return dayjs(value).format(format); } return placeholder; } export default function useDatePicker(_ref) { let { value, onChange, placeholder = '请选择', format = 'YYYY-MM-DD' } = _ref; const datePickerRef = useRef(null); const [date, setDate] = useSafeState(value); const currentText = getText(date, format, placeholder); const handlePress = () => { var _datePickerRef$curren; Keyboard.dismiss(); (_datePickerRef$curren = datePickerRef.current) === null || _datePickerRef$curren === void 0 ? void 0 : _datePickerRef$curren.show(); }; const handleChange = (date, formatDate) => { setDate(date); onChange === null || onChange === void 0 ? void 0 : onChange(date, formatDate); }; const handleInputClear = () => { setDate(undefined); onChange === null || onChange === void 0 ? void 0 : onChange(undefined); }; return { date, currentText, datePickerRef, handlePress: useMemoizedFn(handlePress), handleChange: useMemoizedFn(handleChange), handleInputClear: useMemoizedFn(handleInputClear) }; } //# sourceMappingURL=useDatePicker.js.map