index.tsx 886 Bytes
import { Field } from '@formily/react';
import { FormItem, Input } from '@formily/antd-v5';
import { SearchOutlined } from '@ant-design/icons';
import cx from 'classnames';
import './index.less';
import { FieldProps } from '../../typings';

const SearchInput: React.FC<FieldProps> = (props) => {
  const { name, validator = [], decoratorProps, componentProps } = props;

  return (
    <div className={cx('global_search')}>
      <Field
        {...props}
        name={name}
        decorator={[
          FormItem,
          {
            ...decoratorProps,
          },
        ]}
        component={[
          Input,
          {
            allowClear: true,
            prefix: <SearchOutlined />,
            ...componentProps,
            componenttypename: 'Input',
          },
        ]}
        validator={validator}
      />
    </div>
  );
};

export default SearchInput;