import React, { useMemo, useCallback, useImperativeHandle } from 'react' import { useSelector } from 'react-redux' import classnames from 'classnames' import debounce from 'lodash/debounce' import { Button, Form, Icon, Checkbox, Select, Spin } from 'antd' const Option = Select.Option import { WrappedFormUtils, FormComponentProps } from 'antd/lib/form/Form' const FormItem = Form.Item const styles = require('../Team.less') import { IInviteMemberProps } from '../types' import { uuid } from 'utils/util' import { makeSelectInviteMemberLoading } from '../selectors' const AddForm: React.FC = ( { form, category, addHandler, inviteMemberList, organizationDetail, handleSearchMember }, ref ) => { useImperativeHandle(ref, () => ({ ...form })) const fetching = useSelector(makeSelectInviteMemberLoading()) const debouncedSearch = useCallback( debounce((searchValue: string) => { if (searchValue && searchValue.length) { handleSearchMember(searchValue) } }, 1000), [handleSearchMember] ) const submit = useCallback(() => { if (addHandler) { addHandler() } }, [addHandler]) const getOptions = useMemo(() => { return inviteMemberList && inviteMemberList.length ? inviteMemberList.slice(0, 20).map((d) => ( )) : [] }, [inviteMemberList]) const { getFieldDecorator } = form return (
添加{category}到 {organizationDetail?.name}
{getFieldDecorator( 'members' )( )} {getFieldDecorator( 'needEmail', { initialValue: true, valuePropName: 'checked' } )(需要被邀请成员邮件确认)}
) } export default Form.create()( React.forwardRef(AddForm) )