UNPKG

weex-flymeui

Version:

A Flyme Style UI library based on Weex for Creator.

118 lines (102 loc) 4.93 kB
# fm-searchbar > Flyme 顶部导航栏搜索组件 !> fm-searchbar 中的搜索组件与 [Weex 内置 input 组件](https://weex.incubator.apache.org/cn/references/components/input.html#yue-shu) 具有相同的特性约束。 <img src="http://image.res.meizu.com/image/flyme-icon/273747b369d64efb851cae68dea58b55z" width=400 style="box-shadow: 0 5px 10px 0 #d9dce3; border-radius: 4px;" /> ## 使用方法 ```vue <template> <div class="container"> <text class="text">顶部导航栏搜索组件</text> <fm-searchbar background-color="#FFFFFF" search-text="搜索" :value="searchText" @fmSearchbarSubmit="fmSearchbarSubmit" /> </div> </template> <script> import { FmSearchbar } from 'weex-flymeui'; const modal = weex.requireModule('modal'); export default { components: { FmSearchbar }, data: ()=> ({ searchText: '请输入搜索内容' }), methods: { fmSearchbarSubmit(e) { modal.toast({ message: '输入的内容是' + e.value }) } } }; </script> ``` 更多详细代码例子可以参考 [demo](https://github.com/FlymeApps/weex-flymeui/blob/master/example/component/searchbar/index.vue) ## 可配置参数 | Prop | Type | Required | Default | Description | |-------------|------------|--------|-----|-----| | input-value | `String` `Number` |`N`| `''` | 搜索框的输入内容 | | placeholder | `String` |`N`| `-` | 输入提示文案 | | placeholder-color | `String` |`N`| `rgba(0, 0, 0, 0.4)` | 输入提示文案的颜色 | | left-color | `String` |`N`| `rgba(0, 0, 0, 0.6)` | 返回按钮颜色 | | input-background | `String` |`N`| `rgba(0, 0, 0, 0.05)` | 输入框的背景颜色 | | icon-color | `String` |`N`| `rgba(0, 0, 0, 0.4)` | 搜索 icon 的颜色 | | search-text | `String` |`N`| `搜索` | 搜索按钮文案 | | search-color | `String` |`N`| `rgba(0, 0, 0, 0.4)` | 搜索按钮颜色 | | search-highlight-color | `String` |`N`| `#198DED` | 搜索按钮高亮颜色 | | search-text-style | `Object` |`N`| `-` | 搜索按钮样式 | | background-color | `String` |`N`| `#FFFFFF` | 背景颜色 | | statusbar | `Boolean` |`N`| `false` | 是否预留状态栏位置 | | use-default-return | `Boolean` |`N`| `true` | 是否使用默认的返回 | | hasPrev | `Boolean` | `N` |`true`| 是否存在上一页,此项参数决定左边按钮是否显示 | | border-style | `Object` | `N` | `-` | 底部边框的样式,允许值:`borderBottomStyle`, `borderBottomWidth`, `borderBottomColor` | | input-color | `String` | `N` | `#616161` | 输入字体颜色 | | autofocus | `Boolean` | `N` | `false` | 输入框自动获得焦点 | | disabled | `Boolean` | `N` | `false` | 禁用输入框 | | input-type | `String` | `N` | `text` | 输入框类型, 更多类型请参照 [input 内置组件](https://weex.incubator.apache.org/cn/references/components/input.html#te-xing) | | return-key-type | `String` | `N` | `search` | 输入键盘回车键类型, 更多类型请参照 [input 内置组件](https://weex.incubator.apache.org/cn/references/components/input.html#te-xing) | | show | `Boolean` | `N` | `true` | 是否显示 | ## Slot 如果配置项都不满足你的使用要求,`fm-searchbar` 提供了三个不同的 slot 来提供给用户充分自定义。 1. `<slot name"left"></slot>` : 左边按钮插槽 2. `<slot name"input-right"></slot>` : 输入框右侧插槽 3. `<slot name"right"></slot>` : 右边搜索按钮插槽 ```vue <category title="插槽"></category> <fm-searchbar @fmSearchbarSubmit="submit"> <fm-icon slot="input-right" iconStyle='66' name="yuyin" color='rgba(0, 0, 0, 0.6)' /> </fm-searchbar> <fm-searchbar @fmSearchbarSubmit="submit"> <fm-icon slot="left" iconStyle='66' name="yuyin" color='rgba(0, 0, 0, 0.6)' /> </fm-searchbar> <fm-searchbar @fmSearchbarSubmit="submit"> <fm-icon slot="right" iconStyle='66' name="yuyin" color='rgba(0, 0, 0, 0.6)' /> </fm-searchbar> ``` ## 事件回调 ``` // 键盘回车键被按下或点击搜索按钮时触发 @fmSearchbarSubmit="fmSearchbarSubmit" // 左边按钮被点击时触发 @fmSearchbarLeftBtnClicked="fmSearchbarLeftBtnClick" // input 内置组件事件 @input="onInput" // focus 内置组件事件 @focus="onFocus" // blur 内置组件事件 @blur="onBlur" ``` ## 可供外部使用的方法 - `setValue(val)` 设置输入框的内容 - `focus()` `focus()` 方法用于将内置 `input` 组件聚焦。 - `blur()` `blur()` 方法用于从内置 `input` 组件中移除焦点并关闭软键盘(如果它具有焦点)。 - `setSelectionRange(selectionStart,selectionEnd)` 设置文本选区 - `selectionStart {number}`: 设置文本选区的起始点 - `selectionEnd {number}`: 设置文本选区的起终点 - `getEditSelectionRange(callback[selectionStart,selectionEnd])` 设置文本选区 - `selectionStart {number}`: 获取文本选区的起始点 - `selectionEnd {number}`: 获取文本选区的起终点