SearchBar 搜索栏

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

规则

  • 提供提示文案,帮助用户输入,eg:关键词、双十一特卖。

  • 在搜索栏下方,可提供有用的标签文案,帮助用户通过点击直接完成输入,eg:最近搜索的内容。

代码演示

基本

  1. import { SearchBar } from 'antd-mobile';
  2. const SearchBarExample = React.createClass({
  3. getInitialState() {
  4. return {
  5. value: '美食',
  6. };
  7. },
  8. onChange(value) {
  9. this.setState({ value });
  10. },
  11. clear() {
  12. this.setState({ value: '' });
  13. },
  14. render() {
  15. return (
  16. <SearchBar
  17. value={this.state.value}
  18. placeholder="搜索"
  19. onSubmit={(value) => console.log(value, 'onSubmit')}
  20. onClear={(value) => console.log(value, 'onClear')}
  21. onFocus={() => console.log('onFocus')}
  22. onBlur={() => console.log('onBlur')}
  23. showCancelButton={false}
  24. onChange={this.onChange}
  25. />
  26. );
  27. },
  28. });
  29. ReactDOM.render(<SearchBarExample />, mountNode);

定制取消按钮文案和回调

  1. import { SearchBar } from 'antd-mobile';
  2. const SearchBarExample = React.createClass({
  3. getInitialState() {
  4. return {
  5. value: '',
  6. };
  7. },
  8. onChange(value) {
  9. this.setState({ value });
  10. },
  11. render() {
  12. return (
  13. <SearchBar
  14. value={this.state.value}
  15. placeholder="搜索"
  16. onCancel={(value) => { alert(`${value}, 取消事件自定义`); }}
  17. cancelText="搜索"
  18. showCancelButton
  19. onChange={this.onChange}
  20. />
  21. );
  22. },
  23. });
  24. ReactDOM.render(<SearchBarExample />, mountNode);

禁用

  1. import { SearchBar } from 'antd-mobile';
  2. const SearchBarExample = () => (
  3. <SearchBar
  4. placeholder="搜索"
  5. disabled
  6. />
  7. );
  8. ReactDOM.render(<SearchBarExample />, mountNode);

SearchBar搜索栏 - 图1

API

成员说明类型默认值
defaultValue搜索框的默认值String
value搜索框的当前值String
placeholderplaceholderString
onSubmit点击键盘的enter会触发submit事件Func
onChangechange事件的回调Func
onFocusfocus事件的回调Func
onBlurblur事件的回调Func
onClear点击clear图标Func
onCancel点击取消链接,只会触发onCancel事件,组件不再主动清除内部的value以及触发onChange事件。Func
showCancelButton是否一直显示取消按钮boolfalse
cancelText定制取消按钮的文字,String取消
disabled禁用搜索栏,搜索栏只用于显示boolfalse