import React from 'react'; import classNames from 'classnames'; import Input from './Input'; import Icon from '../icon'; export interface SearchProps { className?: string; placeholder?: string; prefixCls?: string; style?: React.CSSProperties; defaultValue?: any; value?: any; onChange?: React.FormEventHandler; onSearch?: (value: string) => any; size?: 'large' | 'default' | 'small'; disabled?: boolean; readOnly?: boolean; } export default class Search extends React.Component { static defaultProps = { prefixCls: 'ant-input-search', onSearch() {}, }; input: any; onSearch = () => { const { onSearch } = this.props; if (onSearch) { onSearch(this.input.refs.input.value); } this.input.refs.input.focus(); } render() { const { className, prefixCls, ...others } = this.props; delete (others as any).onSearch; const searchSuffix = ( ); return ( this.input = node} suffix={searchSuffix} {...others} /> ); } }