qt-public-ui
Version:
新设计规范下业务组件库
50 lines • 1.45 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { useState } from 'react';
import { useDebounceFn } from 'qt-public-hooks';
import { date2DateType } from './utils';
export default (function (defaultRange, options) {
var _useState = useState(''),
unitValue = _useState[0],
setUnitValue = _useState[1];
var _useState2 = useState(defaultRange),
pickerValue = _useState2[0],
setPickerValue = _useState2[1];
var _useState3 = useState(date2DateType(defaultRange)),
statusValue = _useState3[0],
setStatusValue = _useState3[1];
var _useState4 = useState({
range: pickerValue,
status: statusValue,
unit: unitValue
}),
finalValue = _useState4[0],
setFinalValue = _useState4[1];
var _useDebounceFn = useDebounceFn(function () {
setFinalValue({
range: pickerValue,
status: statusValue,
unit: unitValue
});
}, 50),
run = _useDebounceFn.run;
var onPickerChange = function onPickerChange(range, type) {
setPickerValue(range);
setStatusValue(type);
run();
};
var onUnitChange = function onUnitChange(_unit) {
setUnitValue(_unit);
run();
};
return _extends({}, finalValue, {
cyclePickerProps: _extends({}, options, {
value: pickerValue,
onChange: onPickerChange
}),
unitProps: {
value: unitValue,
pickerValue: pickerValue,
onUnitChange: onUnitChange
}
});
});