表单组件
表单组件说明
| 组件 | 说明 | 最低版本 |
| button | 按钮 | 1.0.0 |
| checkbox-group | 多项选择器,内部由多个 checkbox 组成 | 1.0.0 |
| checkbox | 多选项目 | 1.0.0 |
| form | 表单 | 1.0.0 |
| input | 输入框 | 1.0.0 |
| label | 用来改进表单组件的可用性 | 1.0.0 |
| picker | 从底部弹起的滚动选择器,现支持三种选择器,通过 mode 来区分,分别是普通选择器,时间选择器,日期选择器,默认是普通选择器 | 1.0.0 |
| picker-view | 嵌入页面的滚动选择器 | 1.0.0 |
| picker-view-column | 滚动选择器子项 | 1.0.0 |
| radio-group | 单项选择器,内部由多个 radio 组成 | 1.0.0 |
| radio | 单选项目 | 1.0.0 |
| slider | 滑动选择器 | 1.0.0 |
| switch | 开关选择器 | 1.0.0 |
| textarea | 多行输入框 | 1.0.0 |
| editor | 富文本编辑器 | 2.5.2 |
| keyboard-accessory | 设置 input / textarea 聚焦时键盘上方 cover-view / cover-image 工具栏视图 | 2.11.6 |
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| size | string | default | 否 | 按钮的大小 | 1.0.0 |
| type | string | default | 否 | 按钮的样式类型 | 1.0.0 |
| plain | boolean | false | 否 | 按钮是否镂空,背景色透明 | 1.0.0 |
| disabled | boolean | false | 否 | 是否禁用 | 1.0.0 |
| loading | boolean | false | 否 | 名称前是否带 loading 图标 | 1.0.0 |
| form-type | string | | 否 | 用于 form 组件,点击分别会触发 form 组件的 submit/reset 事件 | 1.0.0 |
| open-type | string | | 否 | 开放能力 | 2.12.11 |
| hover-class | string | button-hover | 否 | 指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果 | 2.11.4 |
| hover-stop-propagation | boolean | false | 否 | 指定是否阻止本节点的祖先节点出现点击态 | 2.11.4 |
| hover-start-time | number | 20 | 否 | 按住后多久出现点击态,单位毫秒 | 2.11.4 |
| hover-stay-time | number | 70 | 否 | 手指松开后点击态保留时间,单位毫秒 | 2.11.4 |
| lang | string | en | 否 | 指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。 | 不支持 |
| session-from | string | | 否 | 会话来源,open-type="contact"时有效 | 2.12.11 |
| send-message-title | string | 当前标题 | 否 | 会话内消息卡片标题,open-type="contact"时有效 | 2.12.11 |
| send-message-path | 当前分享路径 | default | 否 | 会话内消息卡片点击跳转小程序路径,open-type="contact"时有效 | 2.12.11 |
| send-message-img | string | 截图 | 否 | 会话内消息卡片图片,open-type="contact"时有效 | 2.12.11 |
| app-parameter | string | | 否 | 打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效 | 2.12.11 |
| show-message-card | boolean | false | 否 | 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示,用户点击后可以快速发送小程序消息,open-type="contact"时有效 | 2.12.11 |
| bindgetuserinfo | eventhandle | | 否 | 用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与ft.getUserInfo返回的一致,open-type="getUserInfo"时有效 | 2.12.11 |
| bindcontact | eventhandle | | 否 | 客服消息回调,open-type="contact"时有效 | 不支持 |
| bindgetphonenumber | eventhandle | | 否 | 获取用户手机号回调,open-type=getPhoneNumber时有效 | 2.12.11 |
| binderror | eventhandle | | 否 | 当使用开放能力时,发生错误的回调,open-type=launchApp时有效 | 2.12.11 |
| bindopensetting | eventhandle | | 否 | 在打开授权设置页后回调,open-type=openSetting时有效 | 2.12.11 |
| bindlaunchapp | eventhandle | | 否 | 打开 APP 成功的回调,open-type=launchApp时有效 | 2.12.11 |
| bindchooseavatar | eventhandle | | 否 | 打开 APP 成功的回调,open-type=launchApp时有效 | 2.12.11 |
size 的合法值
| 值 | 说明 | 最低版本 |
| default | 默认大小 | |
| mini | 小尺寸 | |
type 的合法值
| 值 | 说明 | 最低版本 |
| primary | 绿色 | |
| default | 白色 | |
| warn | 红色 | |
| 值 | 说明 | 最低版本 |
| submit | 提交表单 | |
| reset | 重置表单 | |
open-type 的合法值
| 值 | 说明 | 最低版本 |
| contact | 打开客户会话 | 2.12.11 |
| share | 触发用户转发 | 2.12.11 |
| getPhoneNumber | 获取用户手机号,可以在 bindgetphonenumber 回调中获取到用户信息 | 2.12.11 |
| getUserInfo | 获取用户信息,可以在 bindgetuserinfo 回调中获取到用户信息 | 2.12.11 |
| launchApp | 打开APP,可以通过 app-parameter 属性设定向APP传的参数 | 2.12.11 |
| openSetting | 打开授权设置页 | 2.12.11 |
| feedback | 打开意见反馈页面 | 2.12.11 |
| chooseAvatar | 获取用户头像,可以在 bindchooseavatar 回调中获取到头像信息 | 2.12.11 |
需要注意的是,contact、getPhoneNumber、feedback、chooseAvatar 等功能不会在 SDK 中实现,调用上述功能时,参数会透传到 APP,需要 APP 自行实现相关功能,具体可参考 APP 的文档:
ios
android
lang 的合法值
| 值 | 说明 | 最低版本 |
| en | 英文 | |
| zh_CN | 简体中文 | |
| zh_TW | 繁体中文 | |
checkbox
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| color | string | #09BB07 | 否 | checkbox的颜色,同css的color | 1.0.0 |
| value | string | | 否 | checkbox标识,选中时触发checkbox-group的 change 事件,并携带 checkbox 的 value | 2.11.4 |
| disabled | boolean | false | 否 | 是否禁用 | 2.11.4 |
| checked | boolean | false | 否 | 当前是否选中,可用来设置默认选中 | 2.11.4 |
checkbox-group
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| bindchange | EventHandle | | 否 | checkbox-group中选中项发生改变时触发 change 事件,detail = {value:[选中的checkbox的value的数组]} | 2.11.4 |
editor
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| read-only | boolean | false | 否 | 设置编辑器为只读 | 2.7.0 |
| placeholder | string | | 否 | 提示信息 | 2.7.0 |
| show-img-size | boolean | false | 否 | 点击图片时显示图片大小控件 | 2.7.0 |
| show-img-toolbar | boolean | false | 否 | 点击图片时显示工具栏控件 | 2.7.0 |
| show-img-resize | boolean | false | 否 | 点击图片时显示修改尺寸控件 | 2.7.0 |
| bindready | eventhandle | | 否 | 编辑器初始化完成时触发 | 2.7.0 |
| bindfocus | eventhandle | | 否 | 编辑器聚焦时触发,event.detail = {html, text, delta} | 2.7.0 |
| bindblur | eventhandle | | 否 | 编辑器失去焦点时触发,detail = {html, text, delta} | 2.7.0 |
| bindinput | eventhandle | | 否 | 编辑器内容改变时触发,detail = {html, text, delta} | 2.7.0 |
| bindstatuschange | eventhandle | | 否 | 通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式 | 2.7.0 |
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| report-submit | boolean | false | 否 | 是否返回 formId 用于发送模板消息 | 1.0.0 |
| bindsubmit | eventhandle | | 否 | 携带 form 中的数据触发 submit 事件,event.detail = {value : {'name': 'value'} , formId: ''} | 1.0.0 |
| bindreset | eventhandle | | 否 | 表单重置时会触发 reset 事件 | 1.0.0 |
| report-submit-timeout | number | 0 | 否 | 等待一段时间(毫秒数)以确认 formId 是否生效。如果未指定这个参数,formId 有很小的概率是无效的(如遇到网络失败的情况)。指定这个参数将可以检测 formId 是否有效,以这个参数的时间作为这项检测的超时时间。如果失败,将返回 requestFormId:fail 开头的 formId | 不支持 |
label
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| for | string | | 否 | 绑定控件的 id | 1.0.0 |
picker
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| mode | string | selector | 否 | 选择器类型 | 1.0.0 |
| disabled | boolean | false | 否 | 是否禁用 | 1.0.0 |
| confirm-color | string | #586c94 | 否 | 确认按钮文字颜色 | 1.0.0 |
| cancel-color | string | #586c94 | 否 | 取消按钮文字颜色 | 1.0.0 |
| bindcancel | eventhandle | | 否 | 取消选择时触发 | |
| header-text | string | | 否 | 选择器的标题,仅Android可用 | 不支持 |
mode 的合法值
| 值 | 说明 | 最低版本 |
| selector | 普通选择器 | |
| multiSelector | 多列选择器 | |
| time | 时间选择器 | |
| date | 日期选择器 | |
| region | 省市区选择器 | |
除了上述通用的属性,对于不同的mode,picker拥有不同的属性。
多列选择器:mode = multiSelector
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| range | array/object array | [] | 否 | mode 为 selector 或 multiSelector 时,range 有效 | |
| range-key | string | | 否 | mode 为 selector 或 multiSelector 时,range 有效 | |
| value | array | [] | 否 | 表示选择了 range 中的第几个(下标从 0 开始) | |
| bindchange | eventhandle | | 否 | value 改变时触发 change 事件,event.detail = {value} | |
| bindcolumnchange | eventhandle | | 否 | 列改变时触发 | |
多列选择器:mode = time
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| value | string | | 否 | 表示选中的时间,格式为"hh:mm" | |
| start | string | | 否 | 表示有效时间范围的开始,字符串格式为"hh:mm" | |
| end | string | | 否 | 表示有效时间范围的结束,字符串格式为"hh:mm" | |
| bindchange | eventhandle | | 否 | value 改变时触发 change 事件,event.detail = {value} | |
多列选择器:mode = date
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| value | string | 当天 | 否 | 表示选中的日期,格式为"YYYY-MM-DD" | |
| start | string | | 否 | 表示有效日期范围的开始,字符串格式为"YYYY-MM-DD" | |
| end | string | | 否 | 表示有效日期范围的结束,字符串格式为"YYYY-MM-DD" | |
| fields | string | day | 否 | 有效值 year,month,day,表示选择器的粒度 | |
| bindchange | eventhandle | | 否 | value 改变时触发 change 事件,event.detail = {value} | |
fields 有效值:
| 值 | 说明 | 最低版本 |
| year | 选择器粒度为年 | |
| month | 选择器粒度为月份 | |
| day | 选择器粒度为天 | |
多列选择器:mode = region
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| value | array | [] | 否 | 表示选中的省市区,默认选中每一列的第一个值 | |
| custom-item | string | | 否 | | 可为每一列的顶部添加一个自定义的项 |
| level | string | | 否 | region | 选择器层级 |
| bindchange | eventhandle | | 否 | value 改变时触发 change 事件,event.detail = {value, code, postcode},其中字段 code 是统计用区划代码,postcode 是邮政编码 | |
picker-view
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| value | Array | | 否 | 数组中的数字依次表示 picker-view 内的 picker-view-column 选择的第几项(下标从 0 开始),数字大于 picker-view-column 可选项长度时,选择最后一项。 | 1.0.0 |
| indicator-style | string | | 否 | 设置选择器中间选中框的样式 | 1.0.0 |
| indicator-class | string | | 否 | 设置选择器中间选中框的类名 | 2.11.4 |
| immediate-change | boolean | false | 否 | 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件。 | 不支持 |
| mask-style | string | | 否 | 设置蒙层的样式 | 2.11.4 |
| mask-class | string | | 否 | 设置蒙层的类名 | 2.11.4 |
| bindchange | eventhandle | | 否 | 滚动选择时触发change事件,event.detail = {value};value为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项(下标从 0 开始) | 2.11.4 |
| bindpickstart | eventhandle | | 否 | 当滚动选择开始时候触发事件 | 2.11.4 |
| bindpickend | eventhandle | | 否 | 当滚动选择结束时候触发事件 | 2.11.4 |
picker-view-column
滚动选择器子项。仅可放置于picker-view中,其孩子节点的高度会自动设置成与picker-view的选中框的高度一致
radio
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| color | string | #09BB07 | 否 | radio的颜色,同css的color | 1.0.0 |
| value | string | | 否 | radio 标识。当该radio 选中时,radio-group 的 change 事件会携带radio的value | 2.11.4 |
| checked | boolean | false | 否 | 当前是否选中 | 2.11.4 |
| disabled | boolean | false | 否 | 是否禁用 | 2.11.4 |
radio-group
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| bindchange | EventHandle | | 否 | radio-group中选中项发生改变时触发 change 事件,detail = {value:[选中的radio的value的数组]} | 2.11.4 |
slider
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| min | number | 0 | 否 | 最小值 | 1.0.0 |
| max | number | 100 | 否 | 最大值 | 1.0.0 |
| step | number | 1 | 否 | 步长,取值必须大于 0,并且可被(max - min)整除 | 1.0.0 |
| disabled | boolean | false | 否 | 是否禁用 | 1.0.0 |
| value | number | 0 | 否 | 当前取值 | 1.0.0 |
| color | color | #e9e9e9 | 否 | 背景条的颜色(请使用 backgroundColor) | 1.0.0 |
| selected-color | color | #1aad19 | 否 | 已选择的颜色(请使用 activeColor) | 1.0.0 |
| show-value | boolean | false | 否 | 是否显示当前 value | 1.0.0 |
| bindchange | eventhandle | | 否 | 完成一次拖动后触发的事件,event.detail = {value} | 1.0.0 |
| activeColor | color | #1aad19 | 否 | 已选择的颜色 | 2.11.4 |
| backgroundColor | color | #e9e9e9 | 否 | 背景条的颜色 | 2.11.4 |
| block-size | number | 28 | 否 | 滑块的大小,取值范围为 12 - 28 | 2.11.4 |
| block-color | color | #ffffff | 否 | 滑块的颜色 | 2.11.4 |
| bindchanging | eventhandle | | 否 | 拖动过程中触发的事件,event.detail = {value} | 2.11.4 |
switch
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| checked | boolean | false | 否 | 是否选中 | 1.0.0 |
| disabled | boolean | false | 否 | 是否禁用 | 1.0.0 |
| type | string | switch | 否 | 样式,有效值:switch, checkbox | 1.0.0 |
| color | string | #04BE02 | 否 | switch 的颜色,同 css 的 color | 1.0.0 |
| bindchange | eventhandle | | 否 | checked 改变时触发 change 事件,event.detail={ value} | 1.0.0 |
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| value | string | | 是 | 输入框的初始内容 | 2.11.4 |
| type | string | text | 否 | input 的类型 | 2.11.4 |
| password | boolean | false | 否 | 是否是密码类型 | 2.11.4 |
| placeholder | string | | 是 | 输入框为空时占位符 | 2.11.4 |
| placeholder-style | string | | 是 | 指定 placeholder 的样式 | 2.11.4 |
| placeholder-class | string | input-placeholder | 否 | 指定 placeholder 的样式类 | 2.11.4 |
| disabled | boolean | false | 否 | 是否禁用 | 2.11.4 |
| maxlength | number | 140 | 否 | 最大输入长度,设置为 -1 的时候不限制最大长度 | 2.11.4 |
| cursor-spacing | number | 0 | 否 | 指定光标与键盘的距离,取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离 | |
| auto-focus | boolean | false | 否 | (即将废弃,请直接使用 focus )自动聚焦,拉起键盘 | |
| focus | boolean | false | 否 | 获取焦点 | |
| confirm-type | string | done | 否 | 设置键盘右下角按钮的文字,仅在type='text'时生效 | |
| cursor | number | | 是 | 指定focus时的光标位置 | |
| confirm-hold | boolean | false | 否 | 点击键盘右下角按钮时是否保持键盘不收起 | |
| selection-start | number | -1 | 否 | 光标起始位置,自动聚集时有效,需与selection-end搭配使用 | |
| selection-end | number | -1 | 否 | 光标结束位置,自动聚集时有效,需与selection-start搭配使用 | |
| adjust-position | boolean | true | 否 | 键盘弹起时,是否自动上推页面 | |
| hide-keyboard-when-scroll | boolean | false | 否 | input 默认在用户操作页面滚动时,会有收起键盘的逻辑,但部分非用户操作的滚动不会收起,该属性可控制 input 在页面发生非用户操作的滚动行为时,会强制收起键盘 | 3.5.1 |
| bindinput | eventhandle | | 是 | 键盘输入时触发,event.detail = {value, cursor, keyCode},keyCode 为键值,2.1.0 起支持,处理函数可以直接 return 一个字符串,将替换输入框的内容。 | |
| bindfocus | eventhandle | | 是 | 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度 | |
| bindblur | eventhandle | | 是 | 输入框失去焦点时触发,event.detail = {value: value} | |
| bindconfirm | eventhandle | | 是 | 点击完成按钮时触发,event.detail = {value: value} | |
| bindkeyboardheightchange | eventhandle | | 是 | 键盘高度发生变化的时候触发此事件,event.detail = {height: height, duration: duration} | |
| always-embed | boolean | false | 否 | 强制 input 处于同层状态,默认 focus 时 input 会切到非同层状态 (仅在 iOS 下生效) | 不支持 |
| hold-keyboard | boolean | false | 否 | focus时,点击页面的时候不收起键盘 | |
| safe-password-cert-path | string | | 否 | 安全键盘加密公钥的路径,只支持包内路径 | 不支持 |
| safe-password-length | number | | 否 | 安全键盘输入密码长度 | 不支持 |
| safe-password-time-stamp | number | | 否 | 安全键盘加密时间戳 | 不支持 |
| safe-password-nonce | string | | 否 | 安全键盘加密盐值 | 不支持 |
| safe-password-salt | string | | 否 | 安全键盘计算hash盐值,若指定custom-hash 则无效 | 不支持 |
| safe-password-custom-hash | string | | 否 | 安全键盘计算hash的算法表达式,如 md5(sha1('foo' + sha256(sm3(password + 'bar')))) | 不支持 |
type 的合法值
| 值 | 说明 | 最低版本 |
| text | 文本输入键盘 | |
| number | 数字输入键盘 | |
| idcard | 身份证输入键盘 | |
| digit | 带小数点的数字键盘 | |
confirm-type 的合法值
| 值 | 说明 | 最低版本 |
| send | 右下角按钮为“发送” | |
| search | 右下角按钮为“搜索” | |
| next | 右下角按钮为“下一个” | |
| go | 右下角按钮为“前往” | |
| done | 右下角按钮为“完成” | |
textarea
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
| value | string | | 否 | 输入框的内容 | |
| placeholder | string | | 否 | 输入框为空时占位符 | |
| placeholder-style | string | | 否 | 指定 placeholder 的样式,目前仅支持color,font-size和font-weight | |
| placeholder-class | string | textarea-placeholder | 否 | 指定 placeholder 的样式类 | |
| disabled | boolean | false | 否 | 是否禁用 | |
| maxlength | number | 140 | 否 | 最大输入长度,设置为 -1 的时候不限制最大长度 | |
| auto-focus | boolean | false | 否 | 自动聚焦,拉起键盘。 | |
| focus | boolean | false | 否 | 获取焦点 | |
| auto-height | boolean | false | 否 | 是否自动增高,设置auto-height时,style.height不生效 | |
| cursor-spacing | number | 0 | 否 | 指定光标与键盘的距离。取textarea距离底部的距离和cursor-spacing指定的距离的最小值作为光标与键盘的距离 | |
| cursor | number | -1 | 否 | 指定focus时的光标位置 | |
| show-confirm-bar | boolean | true | 否 | 是否显示键盘上方带有”完成“按钮那一栏 | |
| selection-start | number | -1 | 否 | 光标起始位置,自动聚集时有效,需与selection-end搭配使用 | |
| selection-end | number | -1 | 否 | 光标结束位置,自动聚集时有效,需与selection-start搭配使用 | |
| adjust-position | boolean | true | 否 | 键盘弹起时,是否自动上推页面 | |
| hold-keyboard | boolean | false | 否 | focus时,点击页面的时候不收起键盘 | |
| disable-default-padding | boolean | false | 否 | 是否去掉 iOS 下的默认内边距 | |
| bindfocus | eventhandle | | 否 | 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度,在基础库 1.9.90 起支持 | |
| bindblur | eventhandle | | 否 | 输入框失去焦点时触发,event.detail = {value, cursor} | |
| bindlinechange | eventhandle | | 否 | 输入框行数变化时调用,event.detail = {height: 0, heightRpx: 0, lineCount: 0} | |
| bindinput | eventhandle | | 否 | 当键盘输入时,触发 input 事件,event.detail = {value, cursor, keyCode},keyCode 为键值,目前工具还不支持返回keyCode参数。bindinput 处理函数的返回值并不会反映到 textarea 上 | |
| bindconfirm | eventhandle | | 否 | 点击完成时, 触发 confirm 事件,event.detail = {value: value} | |
| bindkeyboardheightchange | eventhandle | | 否 | 键盘高度发生变化的时候触发此事件,event.detail = {height: height, duration: duration} | |
keyboard-accessory
tip: 视图最大高度为 200px
示例代码