Coder Social home page Coder Social logo

uisearchbar's Introduction

#概述

可记录搜索历史的搜索模块(内含iOS和Android)

APICloud 的 UISearchBar 模块是一个搜索模块,封装了一个可自定义的 window 页面,开发者只需要简单配置相应的参数即可打开一个原生开发的搜索页。但是由于本模块 UI 布局界面为固定模式,不能满足日益增长的广大开发者对搜索模块样式的需求。因此,广大原生模块开发者,可以参考此模块的开发方式、接口定义等开发规范,或者基于此模块开发出更多符合产品设计的新 UI 布局的模块,希望此模块能起到抛砖引玉的作用。

#模块接口文档

[open](#m1)

close

setText

clearHistory

#概述

UISearchBar 是一个独立的搜索页面,可以返回搜索文本,监听录音按钮事件,保存、清除搜索记录。UISearchBar 模块是 searchBar 模块的优化版。

图片说明

本模块源码已开源,地址为:https://github.com/apicloudcom/UISearchBar

#**open**

打开搜索页面

open({params}, callback(ret))

##params

placeholder:

  • 类型:字符串
  • 描述:(可选项)搜索框的占位提示文本
  • 默认值:'请输入搜索关键字'

historyCount:

  • 类型:数字
  • 描述:(可选项)历史记录条数
  • 默认值:10

dataBase:

  • 类型:字符串
  • 描述:(可选项)历史记录存储库名,以区分同一个 app 多个不同页面的数据
  • 默认值:UISearchBarData

showRecordBtn:

  • 类型:布尔
  • 描述:(可选项)是否显示录音按钮
  • 默认值:true

texts:

  • 类型:JSON对象
  • 描述:(可选项)模块各部分的文本
  • 内部字段:
{
cancelText: '取消',           //(可选项)字符串类型;取消按钮的文本;默认:'取消'  
clearText: '清除搜索记录'     //(可选项)字符串类型;清除按钮的文本;默认:'清除搜索记录'
}

styles:

  • 类型:JSON对象
  • 描述:(可选项)模块各部分的样式
  • 内部字段:
{
navBar: {                               //(可选项)JSON对象;搜索框所在的导航条样式
bgColor: '#FFFFFF',                 //(可选项)字符串类型;搜索框所在的导航条背景色,支持rgb,rgba,#;默认:'#FFFFFF'
borderColor: '#ccc'                 //(可选项)字符串类型;搜索框所在的导航条边框颜色,支持rgb,rgba,#;默认:'#CCCCCC'
},
searchBox: {                            //(可选项)JSON对象;搜索框样式
bgImg: '',                          //(可选项)字符串类型;搜索框的背景图片,要求本地路径(fs://,widget://);默认:自带背景图片
color: '#000',                      //(可选项)字符串类型;搜索框输入文本的颜色,支持rgb,rgba,#;默认:'#000000'
height: 44                          //(可选项)数字类型;搜索框的高度;默认:44
},
cancel: {                               //(可选项)JSON对象;取消按钮的样式
bg: 'rgba(0,0,0,0)',                //(可选项)字符串类型;取消按钮的背景,支持rgb,rgba,#,图片路径(本地路径,支持fs://,widget://);默认:'rgba(0,0,0,0)'
color: '#D2691E',                   //(可选项)字符串类型;取消按钮的字体颜色,支持rgb,rgba,#;默认:'#D2691E'
size: 16                            //(可选项)数字类型;取消按钮的字体大小;默认:16
},
list: {                                 //(可选项)JSON对象;历史记录列表的样式
color: '#696969',                   //(可选项)字符串类型;历史记录列表的文本颜色,支持rgb,rgba,#;默认:'#696969'
bgColor: '#FFFFFF',                 //(可选项)字符串类型;历史记录列表的背景色,支持rgb,rgba,#;默认:'#FFFFFF'
activeBgColor: '#eee',              //(可选项)字符串类型;历史记录列表按下时的背景色,支持rgb,rgba,#;默认:'#EEEEEE'
borderColor: '#eee',                //(可选项)字符串类型;历史记录列表的边框颜色,支持rgb,rgba,#;默认:'#EEEEEE'
size: 16                            //(可选项)数字类型;历史记录列表的字体大小;默认:16
},
clear: {                                //(可选项)JSON对象;清除历史记录按钮的样式
color: '#000000',                   //(可选项)字符串类型;清除按钮的字体颜色,支持rgb,rgba,#;默认:'#000000'
bgColor: '#fff',                    //(可选项)字符串类型;清除按钮的背景色,支持rgb,rgba,#;默认:'#FFFFFF'
activeBgColor: '#eee',              //(可选项)字符串类型;清除按钮按下时的背景色,支持rgb,rgba,#;默认:'#EEEEEE'
borderColor: '#ccc',                //(可选项)字符串类型;清除按钮的下边框颜色,支持rgb,rgba,#;默认:'#CCCCCC'
size: 16                            //(可选项)数字类型;清除按钮的字体大小;默认:16
}
}

##callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
eventType: 'record',        //字符串类型;交互事件类型
//取值范围:
//record(用户点击录音按钮)
//search(用户点击搜索按钮)
//history(用户点击历史记录)
text: ''                    //字符串类型;返回用户要搜索的文本
}

##示例代码

var UISearchBar = api.require('UISearchBar');
UISearchBar.open({
placeholder: '请输入搜索关键字',
historyCount: 10,
showRecordBtn: true,
texts: {
cancelText: '取消',
clearText: '清除搜索记录'
},
styles: {
navBar: {
bgColor: '#FFFFFF',
borderColor: '#ccc'
},
searchBox: {
bgImg: '',
color: '#000',
height: 44
},
cancel: {
bg: 'rgba(0,0,0,0)',
color: '#D2691E',
size: 16
},
list: {
color: '#696969',
bgColor: '#FFFFFF',
borderColor: '#eee',
size: 16
},
clear: {
color: '#000000',
borderColor: '#ccc',
size: 16
}
}
},function( ret, err ){
if( ret ){
alert( JSON.stringify( ret ) );
}else{
alert( JSON.stringify( err ) );
} 
});

##可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

#**close**

关闭搜索页面

close()

##示例代码

var UISearchBar = api.require('UISearchBar');
UISearchBar.close();

##可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

#**setText**

设置搜索框的文字

setText({params})

##params

text:

  • 类型:字符串
  • 描述:(可选项)搜索框内的文字,若不传或传空则清空搜索框内容

##示例代码

var UISearchBar = api.require('UISearchBar');
UISearchBar.setText({
text: '设置语音识别的文本'
});

##可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

#**clearHistory**

清空当前搜索历史记录

clearHistory()

##示例代码

var UISearchBar = api.require('UISearchBar');
UISearchBar.clearHistory();

##可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

uisearchbar's People

Contributors

sunzhengcuan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.