chenshuai2144 6 лет назад
Родитель
Сommit
c7dd4588ef

+ 1 - 0
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',

+ 6 - 5
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}