SearchBar 搜索栏

定义/Definition

苹果风格的搜索栏,带有一个自动隐藏的取消按钮。适合作为主搜索固定在页面顶部

规则 / Rule

  • 输入前搜索必须要有默认的搜索建议,如“请输入关键字”,”双十一口红特卖”

  • 输入时提供搜索自动补全

  • 输入时提供清除按钮、取消按钮

  • 输入时提供历史记录

  • 输入后提供回取消、上一步功能

  • 业务场景需要时,搜索建议可凸显为匹配的部分,与其他部分做区分

代码演示

基本

  1. import { SearchBar } from 'antd-mobile';
  2. import { createForm } from 'rc-form';
  3. let SearchBarExample = React.createClass({
  4. getInitialState() {
  5. return {
  6. value: '蚂蚁中台',
  7. };
  8. },
  9. render() {
  10. const { getFieldProps } = this.props.form;
  11. console.log(this.props.form.getFieldsValue());
  12. return (
  13. <div>
  14. <SearchBar
  15. value="美食"
  16. placeholder="搜索"
  17. onSubmit={(value) => { console.log(`onSubmit${value}`); }}
  18. onClear={() => { console.log('onClear'); }}
  19. onCancel={() => { console.log('onCancel'); }}
  20. onFocus={() => { console.log('onFocus'); }}
  21. onBlur={() => { console.log('onBlur'); }}
  22. />
  23. <SearchBar
  24. {...getFieldProps('SearchBar2')}
  25. placeholder="地图搜索"
  26. onSubmit={(value) => { console.log(`onSubmit${value}`); }}
  27. onClear={() => { console.log('onClear'); }}
  28. onCancel={() => { console.log('onCancel'); }}
  29. />
  30. <SearchBar
  31. value=""
  32. placeholder="取消按钮总是显示"
  33. onSubmit={(value) => { console.log(`onSubmit${value}`); }}
  34. onClear={() => { console.log('onClear'); }}
  35. onCancel={() => { console.log('onCancel'); }}
  36. showCancelButton
  37. />
  38. <SearchBar placeholder="搜索框被禁用" disablSearch />
  39. </div>
  40. );
  41. },
  42. });
  43. SearchBarExample = createForm()(SearchBarExample);
  44. ReactDOM.render(<SearchBarExample />, mountNode);

SearchBar搜索栏 - 图1

API

成员说明类型默认值
value搜索框的默认值String
placeholderplaceholderString
onSubmit点击键盘的enter会触发submit事件Func
onChangechange事件的回调Func
onFocusfocus事件的回调Func
onBlurblur事件的回调Func
onClear点击clear图标Func
showCancelButton是否一直显示取消按钮boolfalse
cancelTxt定制取消按钮的文字,bool取消
disablSearch禁用搜索栏,搜索栏只用于显示boolfalse