123456789101112131415161718192021222324252627282930313233343536 |
- import { useEffect, useRef } 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 { FormTextareaDefaultProps } from './props';
- var FormTextarea = function (props) {
- var _a = useFormItem(props), formData = _a.formData, emit = _a.emit;
- var triggerEvent = useComponentEvent(props).triggerEvent;
- var inputRef = useRef();
- useHandleCustomEvent('handleRef', function (input) {
- inputRef.current = input;
- });
- useEffect(function () {
- if (inputRef.current) {
- inputRef.current.update(formData.value);
- }
- }, [formData]);
- useHandleCustomEvent('onChange', function (value, e) {
- emit('onChange', value);
- triggerEvent('change', value, e);
- });
- useHandleCustomEvent('onBlur', function (value, e) {
- triggerEvent('blur', value, e);
- });
- useHandleCustomEvent('onFocus', function (value, e) {
- triggerEvent('focus', value, e);
- });
- useHandleCustomEvent('onConfirm', function (value, e) {
- triggerEvent('confirm', value, e);
- });
- return {
- formData: formData,
- };
- };
- mountComponent(FormTextarea, FormTextareaDefaultProps);
|