12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { useEvent, useRef, useEffect } from 'functional-mini/component';
- import { mountComponent } from '../../_util/component';
- import { useComponentEvent } from '../../_util/hooks/useComponentEvent';
- import { useHandleCustomEvent } from '../../_util/hooks/useHandleCustomEvent';
- import { useFormItem } from '../use-form-item';
- import { FormImageUploadDefaultProps } from './props';
- var FormImageUpload = function (props) {
- var _a = useFormItem(props), formData = _a.formData, emit = _a.emit;
- var triggerEvent = useComponentEvent(props).triggerEvent;
- var imageUploadRef = useRef();
- useHandleCustomEvent('handleRef', function (imageUpload) {
- imageUploadRef.current = imageUpload;
- });
- useEffect(function () {
- if (imageUploadRef.current) {
- imageUploadRef.current.update(formData.value);
- }
- }, [formData.value]);
- useHandleCustomEvent('onChange', function (value) {
- emit('onChange', value);
- triggerEvent('change', value);
- });
- useEvent('handleUpload', function (localFile) {
- if (!props.onUpload) {
- throw new Error('need props onUpload');
- }
- return props.onUpload(localFile);
- }, {
- handleResult: true,
- });
- useEvent('handleRemove', function (file) {
- if (props.onRemove) {
- return props.onRemove(file);
- }
- }, {
- handleResult: true,
- });
- useHandleCustomEvent('onPreview', function (file, e) {
- triggerEvent('preview', file, e);
- });
- useEvent('handleBeforeUpload', function (localFileList) {
- if (props.onBeforeUpload) {
- return props.onBeforeUpload(localFileList);
- }
- }, {
- handleResult: true,
- });
- useHandleCustomEvent('onChooseImageError', function (err, e) {
- triggerEvent('chooseImageError', err, e);
- });
- return {
- formData: formData,
- };
- };
- mountComponent(FormImageUpload, FormImageUploadDefaultProps);
|