SearchBar 搜索栏

一般可位于 NavBar 下方,通过『取消按钮』退出激活状态。

规则

  • 应该在 placeholder 里提供提示文字,提醒用户输入相关内容,比如:双11特卖。

  • 在搜索栏下方,可提供有用的标签文案,帮助用户通过点击直接完成输入,比如:列出一些最近搜索的关键词。

代码演示

基本

  1. import { SearchBar, Button, WhiteSpace, WingBlank } from 'antd-mobile';
  2. class SearchBarExample extends React.Component {
  3. state = {
  4. value: '美食',
  5. };
  6. componentDidMount() {
  7. this.autoFocusInst.focus();
  8. }
  9. onChange= (value) => {
  10. this.setState({ value });
  11. };
  12. clear = () => {
  13. this.setState({ value: '' });
  14. };
  15. handleClick = () => {
  16. this.manualFocusInst.focus();
  17. }
  18. render() {
  19. return (<div>
  20. <WingBlank><div className="sub-title">Normal</div></WingBlank>
  21. <SearchBar placeholder="Search" maxLength={8} />
  22. <WhiteSpace />
  23. <WingBlank><div className="sub-title">AutoFocus when enter page</div></WingBlank>
  24. <SearchBar placeholder="自动获取光标" ref={ref => this.autoFocusInst = ref} />
  25. <WhiteSpace />
  26. <WingBlank><div className="sub-title">Focus by operation</div></WingBlank>
  27. <SearchBar
  28. placeholder="手动获取获取光标"
  29. ref={ref => this.manualFocusInst = ref}
  30. />
  31. <WhiteSpace />
  32. <WingBlank>
  33. <Button
  34. onClick={this.handleClick}
  35. >click to focus</Button>
  36. </WingBlank>
  37. <WhiteSpace />
  38. <WingBlank><div className="sub-title">Show cancel button</div></WingBlank>
  39. <SearchBar
  40. value={this.state.value}
  41. placeholder="Search"
  42. onSubmit={value => console.log(value, 'onSubmit')}
  43. onClear={value => console.log(value, 'onClear')}
  44. onFocus={() => console.log('onFocus')}
  45. onBlur={() => console.log('onBlur')}
  46. onCancel={() => console.log('onCancel')}
  47. showCancelButton
  48. onChange={this.onChange}
  49. />
  50. </div>);
  51. }
  52. }
  53. ReactDOM.render(<SearchBarExample />, mountNode);
  1. .am-search {
  2. border-bottom: 1px solid #ddd;
  3. }
  4. .sub-title {
  5. color: #888;
  6. font-size: 14px;
  7. padding: 30px 0 18px 0;
  8. }

SearchBar搜索栏 - 图1

API

属性说明类型默认值
defaultValue搜索框的默认值String
value搜索框的当前值String
placeholderplaceholderString
onSubmitsubmit 事件 (点击键盘的 enter)(val: string): void
onChangechange 事件的回调(val: string): void
onFocusfocus 事件的回调(): void
onBlurblur 事件的回调(): void
onCancel点击取消按钮触发 (不再自动清除输入框的文字)(val: string): void
showCancelButton是否一直显示取消按钮boolfalse
cancelText定制取消按钮的文字String取消
disabled设置禁用boolfalse
onClear点击 clear 图标触发(val: string): void
maxLength最多允许输入的字符个数number-
注:RN 版本更多 API 请参考 http://facebook.github.io/react-native/docs/textinput.html## SearchBar Instance methods#
属性说明类型默认值
focus使 SearchBar 聚焦(): void-