Browse Source

feat: support default value

ref #5364
pull/5405/head
chenshuai2144 7 years ago
parent
commit
c7dd4588ef
  1. 1
      src/components/GlobalHeader/RightContent.tsx
  2. 11
      src/components/HeaderSearch/index.tsx

1
src/components/GlobalHeader/RightContent.tsx

@ -30,6 +30,7 @@ const GlobalHeaderRight: React.SFC<GlobalHeaderRightProps> = props => {
placeholder={formatMessage({
id: 'component.globalHeader.search',
})}
defaultValue="umi ui"
dataSource={[
formatMessage({
id: 'component.globalHeader.search.example1',

11
src/components/HeaderSearch/index.tsx

@ -17,10 +17,11 @@ export interface HeaderSearchProps {
dataSource: DataSourceItemType[];
defaultOpen: boolean;
open?: boolean;
defaultValue?: string;
}
interface HeaderSearchState {
value: string;
value?: string;
searchMode: boolean;
}
@ -52,7 +53,7 @@ export default class HeaderSearch extends Component<HeaderSearchProps, HeaderSea
super(props);
this.state = {
searchMode: props.defaultOpen,
value: '',
value: props.defaultValue,
};
this.debouncePressEnter = debounce(this.debouncePressEnter, 500, {
leading: true,
@ -93,18 +94,17 @@ export default class HeaderSearch extends Component<HeaderSearchProps, HeaderSea
leaveSearchMode = () => {
this.setState({
searchMode: false,
value: '',
});
};
debouncePressEnter = () => {
const { onPressEnter } = this.props;
const { value } = this.state;
onPressEnter(value);
onPressEnter(value || '');
};
render() {
const { className, placeholder, open, ...restProps } = this.props;
const { className, defaultValue, placeholder, open, ...restProps } = this.props;
const { searchMode, value } = this.state;
delete restProps.defaultOpen; // for rc-select not affected
const inputClass = classNames(styles.input, {
@ -134,6 +134,7 @@ export default class HeaderSearch extends Component<HeaderSearchProps, HeaderSea
ref={node => {
this.inputRef = node;
}}
defaultValue={defaultValue}
aria-label={placeholder}
placeholder={placeholder}
onKeyDown={this.onKeyDown}

Loading…
Cancel
Save