2018-08-07 15:01:09 +08:00

76 lines
2.2 KiB
Markdown

## Search 搜索
### 使用指南
在 index.json 中引入组件
```json
"usingComponents": {
"van-search": "/packages/search/index"
}
```
#### 基础用法
value 用于控制搜索框中的文字
```html
<van-search value="{{ value }}" placeholder="请输入搜索关键词" />
```
#### 监听对应事件
Search 提供了 search 和 cancel 事件。search 事件在用户点击键盘上的搜索按钮触发。cancel 事件在用户点击搜索框右侧取消按钮时触发
```html
<van-search
v-model="value"
placeholder="请输入搜索关键词"
show-action
@search="onSearch"
@cancel="onCancel"
/>
```
#### 自定义行动按钮
Search 支持自定义右侧取消按钮,使用名字为 action 的 slot 即可。
```html
<van-search
v-model="value"
placeholder="请输入搜索关键词"
use-action-slot
@search="onSearch"
>
<view slot="action" @click="onSearch">搜索</view>
</van-search>
```
### API
Search 默认支持 Input 标签所有的原生属性,比如 `maxlength``placeholder``readony``autofocus`
| 参数 | 说明 | 类型 | 默认值 |
|-----------|-----------|-----------|-------------|
| value | 当前输入的值 | `String | Number` | - |
| background | 搜索框背景色 | `String` | `#f2f2f2` |
| show-action | 是否在搜索框右侧显示取消按钮 | `Boolean` | `false` |
| use-action-slot | 是否使用 action slot | `Boolean` | `false` |
| disabled | 是否禁用输入框 | `Boolean` | `false` |
| readonly | 是否只读 | `Boolean` | `false` |
| maxlength | 最大输入长度,设置为 -1 的时候不限制最大长度 | `Number` | `-1` |
| focus | 获取焦点 | `Boolean` | `false` |
### Event
Search 默认支持 Input 标签所有的原生事件,如 `focus``blur``keypress`
| 事件名 | 说明 | 参数 |
|-----------|-----------|-----------|
| search | 确定搜索时触发 | event.detail: 当前输入值 |
| change | 输入内容变化时触发 | event.detail: 当前输入值 |
| cancel | 取消搜索搜索时触发 | - |
| focus | 输入框聚焦时触发 | - |
| blur | 输入框失焦时触发 | - |
### Slot
| 名称 | 说明 |
|-----------|-----------|
| action | 自定义搜索框右侧按钮,需要在`showAction`为 true 时才会显示 |