0.1.0 • Published 7 years ago

owl-mobile v0.1.0

Weekly downloads
6
License
-
Repository
-
Last release
7 years ago

react-native的UI组件库

  1. QMBadge - 徽标
  2. QMButton - 按钮
  3. QMCheckBox - 复选框
  4. QMRadio - 单选
  5. QMList - 列表
  6. QMSwitch - 滑动开关
  7. QMInputItem - 文本输入
  8. QMSwipeAction - 滑动操作(左滑删除)
  9. QMTabs - 标签页
  10. QMTag - 标签
  11. QMToast - 轻提示
  12. QMDropDown - 下拉菜单
  13. QMPicker - 选择框
  14. QMIcon - 自定义字体图标库
  15. QMText - 文本
  16. QMTextInput - 输入框
  17. QMLoading - 加载中
  18. QMTextArea - 多行文本输入
  19. QMActionSheet - 动作面板
  20. QMDatePicker - 日期控件

QMBadge - 徽标

图标右上角的红点、数字或者文字。用于告知用户,该区域的状态变化或者待处理任务的数量。 可参照mobile.ant.design

规则

  • 当用户只需知道大致有内容更新时,应该使用红点型,如:社交中的群消息通知。
  • 当用户有必要知晓每条更新时,应该使用数字型。如:社交中的一对一的消息通知。

API

属性说明类型默认值
size大小,可选 large smallstringsmall
text展示的数字或文案,当为数字时候,大于 overflowCount 时显示为 ${overflowCount}+,为 0 时隐藏string|number-
corner置于角落booleanfalse
dot不展示数字,只有一个小红点booleanfalse
overflowCount展示封顶的数字值number99

QMButton - 按钮

点击后会触发一个操作。 可参照mobile.ant.design

API

属性说明类型默认值
type按钮类型,可选值为primary/ghost或者不设string-
size按钮大小,可选值为middlesmallstringmiddle
activeStyle点击反馈的自定义样式 (设为 false 时表示禁止点击反馈){}/false{}
disabled设置禁用booleanfalse
style自定义样式Object
onPress点击按钮的点击回调函数(e: Object): void
onPressIn同 RN TouchableHighlight onPressIn(e: Object): void
onPressOut同 RN TouchableHighlight onPressOut(e: Object): void
onShowUnderlay同 RN TouchableHighlight onShowUnderlay(e: Object): void
onHideUnderlay同 RN TouchableHighlight onHideUnderlay(e: Object): void

QMCheckBox - 复选框

复选框 可参照mobile.ant.design

API

Checkbox

属性说明类型默认值
defaultChecked初始是否选中Boolean
checked指定当前是否选中Boolean
disabledBooleanfalse
onChangechange 事件触发的回调函数(e: Object): void

Checkbox.CheckboxItem

基于List.ItemCheckbox进行封装,List.Itemthumb属性固定传入Checkbox,其他属性和List.Item一致。 其他 API 和 Checkbox 相同。

Checkbox.AgreeItem


QMRadio - 单选

单选框 可参照mobile.ant.design

Radio

属性说明类型默认值
namenameString
defaultChecked初始是否选中Boolean
checked指定当前是否选中Boolean
disabled禁用Booleanfalse
onChangechange 事件触发的回调函数(e: Object): void

Radio.RadioItem

基于List.ItemRadio进行封装,List.Itemextra属性固定传入Radio,其他属性和List.Item一致。 其他 API 和 Radio 相同。


QMList - 列表

单个连续模块垂直排列,显示当前的内容、状态和可进行的操作 可参照mobile.ant.design

规则

  • 一般由主要信息、主要操作、次要信息、次要操作组成。
  • 主要信息和主要操作放在列表的左边,次要信息和次要操作放在列表的右边。

API

List

属性说明类型默认值
renderHeaderlist heder(): void
renderFooterlist footer(): void

List.Item

属性说明类型默认值
thumb缩略图(当为 string 类型时作为 img src)String/React.Element
extra右边内容String/React.Element
arrow箭头方向(右,上,下), 可选horizontal,up,down,empty,如果是empty则存在对应的dom,但是不显示String
alignFlex 子元素垂直对齐,可选top,middle,bottomStringmiddle
onClick点击事件的回调函数(): void
error(web only)报错样式,右侧文字颜色变成橙色Booleanfalse
multipleLine多行Booleanfalse
wrap是否换行,默认情况下,文字超长会被隐藏,Booleanfalse
activeStyle(web only)自定义active的样式Object
platform (web only)设定组件的平台特有样式, 可选值为 android, ios, 默认为 cross, 即组件会自动检测设备 UA 应用不同平台的样式String'cross'

QMList.Row 某些情况下,QMList.Item不能满足需求,尤其里面的布局不规则时,我们提供了QMList.Row,你可以在里面自定义布局。 属性 | 说明 ---|--- style | 为QMList.Row编写自定义样式

onPress | 为QMList.Row绑定onPress事件

QMSwitch - 滑动开关

在两个互斥对象进行选择,eg:选择开或关。 可参照mobile.ant.design

规则

  • 只在 List 中使用。
  • 避免增加额外的文案来描述当前 Switch 的值。
  • 可调整 Switch 的主体来满足 APP 的视觉风格。

API

属性说明类型默认值
checked是否默认选中Booleanfalse
disabled是否不可修改Booleanfalse
onChangechange 事件触发的回调函数(checked: bool): void
name(web only)switch 的 nameString
platform (web only)设定组件的平台特有样式, 可选值为 android, ios, 默认为 cross, 即组件会自动检测设备 UA 应用不同平台的样式String'cross'

QMInputItem - 文本输入

用于接受单行文本。。 可参照mobile.ant.design

规则

  • 支持通过键盘或者剪切板输入文本。
  • 通过光标可以在水平方向进行移动。
  • 对特定格式的文本进行处理,eg:隐藏密码。

API

属性说明类型默认值
type银行卡bankCard,手机号phone(此时最大长度固定为11,maxLength设置无效),密码password, 数字number(尽量唤起数字键盘)Stringtext
valuevalue 值(受控与否参考https://facebook.github.io/react/docs/forms.html)String
defaultValue设置初始默认值String-
placeholderplaceholderString''
editable是否可编辑booltrue
disabled是否禁用boolfalse
clear是否带清除功能(仅editabletrue,disabledfalse,value设置才生效)boolfalse
maxLength最大长度number
onChangechange 事件触发的回调函数(val: string): void-
onBlurblur 事件触发的回调函数(val: string): void-
onFocusfocus 事件触发的回调函数(val: string): void-
error报错样式boolfalse
onErrorClick点击报错 icon 触发的回调函数(e: Object): void
extra右边注释string or node''
onExtraClickextra 点击事件触发的回调函数(e: Object): void
labelNumber定宽枚举值:num * @input-label-width: 34px,可用2-7之间的数字,一般(不能保证全部)能对应显示出相应个数的中文文字(不考虑英文字符)number5
autoFocus页面初始化时Input自动获取光标,每个页面只有一个Input的autpFocus会生效。(不保证所有浏览器都生效)boolfalse
focused页面运行过程中,Input获取光标,当Input获取光标(focused更新为true)后,需要在onFocus或者onBlur时再次将该属性设置为false。boolfalse
updatePlaceholder (web only)当清除内容时,是否将清除前的内容替换到 placeholder 中boolfalse
prefixListCls (web only)列表 className 前缀Stringam-list
name (web only)input 的 nameString

更多属性请参考 react-native TextInput (http://facebook.github.io/react-native/docs/textinput.html)


QMSwipeAction - 滑动操作(左滑删除)

滑动操作组件。结合手势操作,从屏幕一侧唤出操作。 可参照mobile.ant.design

规则 1. 一次只可滑动一行列表 2. 点击任意按钮之外处或往回滑动该列表可隐藏操作。

API

SwipeAction

属性说明类型默认值
styleswipeout 样式Object
left左侧按钮组Arraynull
right右侧按钮组Arraynull
autoClose点击按钮后自动隐藏按钮Booleanfunction() {}
onOpen打开时回调函数(): voidfunction() {}
disabled禁用 swipeoutBooleanfalse
onClose关闭时回调函数(): voidfunction() {}

Button

参数说明类型默认值
text按钮文案StringClick
style按钮样式Object
onPress按钮点击事件(): voidfunction() {}

QMTabs - 标签页

用于让用户在不同的视图中进行切换。 可参照mobile.ant.design

规则

  • 标签数量,一般 2-4 个;其中,标签中的文案需要精简,一般 2-4 个字。
  • 在 iOS 端的次级页面中,不建议使用左右滑动来切换 Tab,这个和 iOS 的左滑返回存在冲突,eg:详情页中 Tabs。

API

适用平台:WEB、React-Native

Tabs

属性说明类型默认值
activeKey当前激活 tab 面板的 keyString
defaultActiveKey初始化选中面板的 key,如果没有设置 activeKeyString第一个面板
onChange切换面板的回调(key: string): void
onTabClicktab 被点击的回调(key: string): void
animated是否动画booleantrue
swipeable是否可以滑动 tab 内容进行切换booleantrue
hammerOptions(Web Only)开启swipeable的时候可以对 hammerjspanswipe 两种手势进行参数配置object{}
tabBarPositiontab 位置 top/bottomstringtop
destroyInactiveTabPane是否销毁掉不活动的 tabPane (优化使用)booleanfalse
underlineColor(react-native only)线条颜色string#ddd
activeUnderlineColor(react-native only)选中线条颜色string#108ee9
textColor(react-native only)文字颜色string#000
activeTextColor(react-native only)选中文字颜色string#108ee9
barStyle(react-native only)tabs bar 样式object{}
prefixCls(web only)className 前缀stringam-tabs
className(web only)额外的 classNamestring
pageSize(web only)可视区显示的 tab 数量,可以看做一页number5
speed(web only)多页模式下,TabBar 滑动的速度Number: 1 ~ 108
tabBarhammerOptions(web only)同hammerOptions,对 TabBar 的滑动手势进行配置Obejct{}

Tabs.TabPane

属性说明类型默认值
key对应 activeKeyString
tab选项卡头显示文字React.Element or String

QMTag - 标签

进行标记和分类的小标签,用于标记事物的属性和维度,以及进行分类。 可参照mobile.ant.design

规则

  • 标签文字必须显示完全。

API

属性说明类型默认值
type按钮类型,可选值为default(点击无选中效果)/primary/hot/warning/success或者不设string-
small小号标签Booleanfalse
disabled是否不可用Booleanfalse
closable是否关闭(非 disabled small 状态)Booleanfalse
selected是否默认选中Booleanfalse
onChange切换选中回调函数(selected: bool): void
onClose点关闭时的回调函数(): void
afterClose关闭后的回调(): void

QMToast - 轻提示

一种轻量级反馈/提示,可以用来显示不会打断用户操作的内容,适合用于页面转场、数据交互的等场景中。 可参照mobile.ant.design

规则

  • 一次只显示一个 toast。
  • 有 Icon 的 Toast,字数为 4-6 个;没有 Icon 的 Toast,字数不宜超过 14 个。

API

适用平台:WEB、React-Native

  • Toast.success(content, duration, onClose, mask)
  • Toast.fail(content, duration, onClose, mask)
  • Toast.info(content, duration, onClose, mask)
  • Toast.loading(content, duration, onClose, mask)
  • Toast.offline(content, duration, onClose, mask)

组件提供了五个静态方法,参数如下:

属性说明类型默认值
content提示内容React.Element or String
duration自动关闭的延时,单位秒number3
onClose关闭后回调Function
mask是否显示透明蒙层,防止触摸穿透Booleantrue

注: duration = 0 时,onClose 无效,toast 不会消失;隐藏 toast 需要手动调用 hide

还提供了全局配置和全局销毁方法:

  • Toast.hide()

QMDropDown - 下拉菜单

点击后会显示一个菜单。 API

DropDownItem

属性说明类型默认值
title按钮显示文本,如果为数组则自动为多个按钮(DropDownItem 必须添加titleIndex属性)string或array-
onChange点击下拉菜单触发的事件(value: string, titleIndex: number): void-
defaultValue默认值--
changeTitleAble点击下拉菜单是否切换title文本booleantrue
visible是否可见booleantrue
style自定义样式Object
clearNext选中当前时候清空下一个的选中(多级时才有用)booleanfalse
modalCloseVisible点击遮罩是否关闭下拉框booleantrue

DropDownItem

属性说明类型默认值
valuestring-
onClick点击下拉菜单触发的事件(value: string, titleIndex: number): void-
titleIndex多个按钮时对应的下标--

QMPicker - 选择框

在一组预设数据中进行选择,e.g. 省市区选择 可参照mobile.ant.design


QMIcon - 自定义字体图标库

图标 如何使用

一. 首先安装依赖:(参考 https://github.com/oblador/react-native-vector-icons)

npm install react-native-vector-icons-qmicon —save

react-native link

二. 应用: import { QMIcon, QMButton } from "qmkit";

图标: 带图标按钮:123

API

适用平台:React-Native

属性说明类型默认值
name图标名称name‘shouji1’ reqiure('xxx')
size图标大小'xxs'/'xs'/'sm'/'md'/'lg'
color图标颜色color'#000'

QMForm - 表单

form常用的组件,输入框、日期控件、只读组件、密码控件


QMText - 文本

文本,属性与react-native Text一致