SearchBar 搜索栏
一般可位于 NavBar 下方,通过『取消按钮』退出激活状态。规则
应该在 placeholder 里提供提示文字,提醒用户输入相关内容,比如:双11特卖。
在搜索栏下方,可提供有用的标签文案,帮助用户通过点击直接完成输入,比如:列出一些最近搜索的关键词。
代码演示
import { SearchBar, Button, WhiteSpace, WingBlank } from 'antd-mobile';
class SearchBarExample extends React.Component {
state = {
value: '美食',
};
componentDidMount() {
this.autoFocusInst.focus();
}
onChange= (value) => {
this.setState({ value });
};
clear = () => {
this.setState({ value: '' });
};
handleClick = () => {
this.manualFocusInst.focus();
}
render() {
return (<div>
<WingBlank><div className="sub-title">Normal</div></WingBlank>
<SearchBar placeholder="Search" maxLength={8} />
<WhiteSpace />
<WingBlank><div className="sub-title">AutoFocus when enter page</div></WingBlank>
<SearchBar placeholder="自动获取光标" ref={ref => this.autoFocusInst = ref} />
<WhiteSpace />
<WingBlank><div className="sub-title">Focus by operation</div></WingBlank>
<SearchBar
placeholder="手动获取获取光标"
ref={ref => this.manualFocusInst = ref}
/>
<WhiteSpace />
<WingBlank>
<Button
onClick={this.handleClick}
>click to focus</Button>
</WingBlank>
<WhiteSpace />
<WingBlank><div className="sub-title">Show cancel button</div></WingBlank>
<SearchBar
value={this.state.value}
placeholder="Search"
onSubmit={value => console.log(value, 'onSubmit')}
onClear={value => console.log(value, 'onClear')}
onFocus={() => console.log('onFocus')}
onBlur={() => console.log('onBlur')}
onCancel={() => console.log('onCancel')}
showCancelButton
onChange={this.onChange}
/>
</div>);
}
}
ReactDOM.render(<SearchBarExample />, mountNode);
.am-search {
border-bottom: 1px solid #ddd;
}
.sub-title {
color: #888;
font-size: 14px;
padding: 30px 0 18px 0;
}
API
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
defaultValue | 搜索框的默认值 | String | |
value | 搜索框的当前值 | String | |
placeholder | placeholder | String | |
onSubmit | submit 事件 (点击键盘的 enter) | (val: string): void | |
onChange | change 事件的回调 | (val: string): void | |
onFocus | focus 事件的回调 | (): void | |
onBlur | blur 事件的回调 | (): void | |
onCancel | 点击取消 按钮触发 (不再自动清除输入框的文字) | (val: string): void | |
showCancelButton | 是否一直显示取消 按钮 | bool | false |
cancelText | 定制取消 按钮的文字 | String | 取消 |
disabled | 设置禁用 | bool | false |
onClear | 点击 clear 图标触发 | (val: string): void | |
maxLength | 最多允许输入的字符个数 | number | - |
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
focus | 使 SearchBar 聚焦 | (): void | - |