index.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 { useFormItem } from '../use-form-item';
  6. import { FormDatePickerDefaultProps } from './props';
  7. import { platform } from '../../_util/platform';
  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', platform() === 'wechat' ? date.getTime() : date);
  13. triggerEventValues('ok', [date, dateStr], e);
  14. });
  15. useMultipleValueHandleCustomEvent('onPickerChange', function (date, dateStr, e) {
  16. triggerEventValues('pickerChange', [date, dateStr], e);
  17. });
  18. useHandleCustomEvent('onVisibleChange', function (visible, e) {
  19. triggerEvent('visibleChange', visible, e);
  20. });
  21. useHandleCustomEventOnly('onDismissPicker', function (e) {
  22. triggerEventOnly('dismissPicker', e);
  23. });
  24. useEvent('handleFormat', function (date, dateStr) {
  25. if (props.onFormat) {
  26. return props.onFormat(date, dateStr);
  27. }
  28. }, {
  29. handleResult: true,
  30. });
  31. useEvent('handleFormatLabel', function (type, value) {
  32. if (props.onFormatLabel) {
  33. return props.onFormatLabel(type, value);
  34. }
  35. }, {
  36. handleResult: true,
  37. });
  38. return {
  39. formData: formData,
  40. };
  41. };
  42. mountComponent(FormDatePicker, FormDatePickerDefaultProps);