UNPKG

zent

Version:

一套前端设计语言和基于React的实现

23 lines (22 loc) 963 B
import { useState, useMemo, useEffect } from 'react'; import { parseDate, parseBase } from '../utils/index'; var current = new Date(); export default function useMergedProps(_a) { var value = _a.value, format = _a.format, defaultDate = _a.defaultDate; var _b = useState(current), defaultPanelDate = _b[0], setDefaultPanelDate = _b[1]; var parseValue = useMemo(function () { return parseDate(format, value); }, [value, format]); var _c = useState(parseValue), selected = _c[0], setSelected = _c[1]; useEffect(function () { setSelected(parseValue); }, [parseValue]); useEffect(function () { var dateValue = selected || defaultDate; setDefaultPanelDate(dateValue ? parseBase(dateValue, format) : current); }, [defaultDate, selected, value, format]); return { selected: selected, parseValue: parseValue, setSelected: setSelected, defaultPanelDate: defaultPanelDate, }; }