index.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { useEvent } from 'functional-mini/component';
  2. import { mountComponent } from '../../_util/component';
  3. import { useComponentEvent } from '../../_util/hooks/useComponentEvent';
  4. import { useHandleCustomEvent, useHandleCustomEventOnly, useMultipleValueHandleCustomEvent, } from '../../_util/hooks/useHandleCustomEvent';
  5. import { platform } from '../../_util/platform';
  6. import { useFormItem } from '../use-form-item';
  7. import { FormRangePickerDefaultProps } from './props';
  8. var FormDatePicker = function (props) {
  9. var _a = useFormItem(props), formData = _a.formData, emit = _a.emit;
  10. var _b = useComponentEvent(props), triggerEventValues = _b.triggerEventValues, triggerEventOnly = _b.triggerEventOnly, triggerEvent = _b.triggerEvent;
  11. useMultipleValueHandleCustomEvent('onOk', function (date, dateStr, e) {
  12. emit('onChange', date.map(function (o) {
  13. if (platform() === 'wechat') {
  14. return o.getTime();
  15. }
  16. return o;
  17. }));
  18. triggerEventValues('ok', [date, dateStr], e);
  19. });
  20. useMultipleValueHandleCustomEvent('onPickerChange', function (type, date, dateStr, e) {
  21. triggerEventValues('pickerChange', [type, date, dateStr], e);
  22. });
  23. useHandleCustomEvent('onVisibleChange', function (visible, e) {
  24. triggerEvent('visibleChange', visible, e);
  25. });
  26. useHandleCustomEventOnly('onDismissPicker', function (e) {
  27. triggerEventOnly('dismissPicker', e);
  28. });
  29. useEvent('handleFormat', function (date, dateStr) {
  30. if (props.onFormat) {
  31. return props.onFormat(date, dateStr);
  32. }
  33. }, {
  34. handleResult: true,
  35. });
  36. useEvent('handleFormatLabel', function (type, value) {
  37. if (props.onFormatLabel) {
  38. return props.onFormatLabel(type, value);
  39. }
  40. }, {
  41. handleResult: true,
  42. });
  43. return {
  44. formData: formData,
  45. };
  46. };
  47. mountComponent(FormDatePicker, FormRangePickerDefaultProps);