fillInput
来自于:APICloud 官方立即使用
open resetPosition close show hide value insertValue popupKeyboard closeKeyboard addEventListener getSelectedRange
概述
fillInput 是一个输入框模块,开发者可以配置相应参数让输入框自动填充密码或者验证码(iOS11.0及以上的系统自动填充密码才会生效,iOS12.0及以上的系统自动填充验证码才会生效),可通过配置相应参数来控制输入框自动获取焦点,并弹出键盘。同普通的 UI 类的模块一样,本模块也可通过 rect 来设置其位置和大小,通过 styles参数设置其样式。为增强输入框功能,模块开放了 keyboardType 参数,开发者可通过设置该参数来控制其键盘类型。
注意:iOS11.0及以上的系统自动填充密码才会生效,iOS12.0及以上的系统自动填充验证码才会生效
open
打开输入框,注意:调用 open 接口的元素,不能加 tapmode 属性
open({params}, callback(ret))
params
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;支持设置'auto';模块的宽度;默认:所属的 Window 或 Frame 的宽度
h: 40 //(可选项)数字类型;支持设置'auto';模块的高度;默认:40
}
styles:
- 类型:JSON 对象
- 描述:(可选项)模块各部分的样式
- 内部字段:
{
bgColor: '#fff', //(可选项)字符串类型;输入框的背景色,支持 rgb、rgba、#;默认:'#fff'
size: 14, //(可选项)数字类型;输入框的文字大小;默认:14
color: '#000', //(可选项)字符串类型;输入框内的字体颜色,支持 rgb、rgba、#;默认:'#000'
cursorColor: '#4169E1', //(可选项)字符串类型;输入框内的光标颜色,支持 rgb、rgba、#;默认:'#4169E1'(该参数仅对ios有效)
placeholder: {
color: '#ccc' //(可选项)字符串类型;输入框占位文字的颜色;默认:'#ccc'
},
borderColor: 'rgba(0,0,0,0)', //(可选项)字符串类型;边框颜色,支持 rgb、rgba、#;默认:'rgba(0,0,0,0)'
borderWidth: 0 //(可选项)数字类型;边框宽度;默认:0
}
passwordOrCode:
- 类型:字符
- 描述:(可选项)自动填充密码或者验证码
- 取值范围:
- default(默认不自动填充)
- password(自动填充密码,支持iOS11.0以上)
- code(自动填充验证码,支持iOS12.0以上,maxRows大于1不支持)
- 默认值:’default’
- 注意:iOS11.0及以上的系统自动填充密码才会生效,iOS12.0及以上的系统自动填充验证码才会生效
maxRows:
- 类型:数字
- 描述:(可选项)支持显示最大行数,文本内容超过此行数时,上下滚动显示。是否支持换行,传大于1的数时表示支持,注意:取值大于1(多行显示时),不触发 search 事件回调
- 默认值:1
maxStringLength:
- 类型:数字
- 描述:(可选项)输入框允许输入的最大字符串长度
- 默认值:无限制
autoFocus:
- 类型:布尔
- 描述:(可选项)打开时是否弹出键盘
- 默认值:true
placeholder:
- 类型:字符串
- 描述:(可选项)输入框的占位提示文本
keyboardType:
- 类型:字符串
- 描述:(可选项)输入框获取焦点时,弹出的键盘类型;
- 默认值:’default’
- 取值范围:
- default(默认键盘)
- number(数字键盘)
- search(搜索键盘)
- next(下一项)
- send(发送)
- done(完成)
alignment:
- 类型:字符串
- 描述:(可选项)文本对齐方式
- 默认值:’left’
- 取值范围:
- left(居左对齐)
- center(居中对齐)
- right(居右对齐)
isCenterVertical:
- 类型:布尔类型
- 描述:输入文本是否上下居中
- 默认:true
inputType:
- 类型:字符串
- 描述:(可选项) 判断输入框输入的是密码还是文字
- 默认值:’text’
- 取值范围:
- password:(密码) 仅当maxRows = 1时支持,
- text:(文字)
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
id:1, //数字类型;输入框的id
eventType: 'show' //字符串类型;交互事件类型,
//取值范围:
//show(模块打开成功)
//change(输入框内容改变)
//search(点击键盘的搜索按钮)
//send(点击键盘的发送按钮,暂仅支持ios平台)
//done(点击键盘的确定按钮,暂仅支持ios平台)
}
示例代码
var fillInput = api.require('fillInput');
fillInput.open({
rect: {
x: 0,
y: 0,
w: api.winWidth,
h: 40
},
styles: {
bgColor: '#fff',
size: 14,
color: '#000',
placeholder: {
color: '#ccc'
},
borderColor: 'rgba(0,0,0,1)',
borderWidth: 1
},
autoFocus: false,
maxRows: 4,
placeholder: '这是一个输入框',
keyboardType: 'number',
fixedOn: api.frameName
}, function(ret) {
if (ret.eventType == 'change') {
} else {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
resetPosition
重设输入框的位置
resetPosition({params})
params
id:
- 类型:数字类型
- 描述:需要设置的输入框id
position:
- 类型:JSON 对象
- 描述:(可选项)模块的位置
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
}
示例代码
var fillInput = api.require('fillInput');
fillInput.resetPosition({
position: {
x: 100,
y: 100
},
id:2
});
可用性
iOS系统
可提供的1.0.0及更高版本
close
关闭输入框
close({params})
Params
id:
- 类型:数字类型
- 描述:需要关闭的输入框id
示例代码
var fillInput = api.require('fillInput');
fillInput.close({
id:0
});
可用性
iOS系统
可提供的1.0.0及更高版本
show
显示输入框
show({params})
Params
id:
- 类型:数字类型
- 描述:需要展示的输入框id
示例代码
var fillInput = api.require('fillInput');
fillInput.show({
id:0
});
可用性
iOS系统
可提供的1.0.0及更高版本
hide
隐藏输入框
hide({params})
Params
id:
- 类型:数字类型
- 描述:需要隐藏的输入框id
示例代码
var fillInput = api.require('fillInput');
fillInput.hide({
id:0
});
可用性
iOS系统
可提供的1.0.0及更高版本
value
获取或设置输入框的内容
value({params}, callback(ret))
params
id:
- 类型:数字类型
- 描述:输入框id
msg:
- 类型:字符串
- 描述:(可选项)输入框的内容,若不传则返回输入框的值
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
msg: '' //字符串类型;输入框当前内容文本
}
示例代码
var fillInput = api.require('fillInput');
fillInput.value({
id:0,
msg:'输入框当前内容文本'
},function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
insertValue
向输入框的指定位置插入内容
insertValue({params})
params
id:
- 类型:数字类型
- 描述:输入框id
index:
- 类型:数字
- 描述:(可选项)插入内容的起始位置。注意:中文,全角符号均占一个字符长度;索引从0开始,0表示插入到最前面,1表示插入到第一个字符后面,2表示插入到第二个字符后面,以此类推。
- 默认值:当前输入框的值的长度
msg:
- 类型:字符串
- 描述:(可选项)要插入的内容
- 默认值:’’
示例代码
var fillInput = api.require('fillInput');
fillInput.insertValue({
index: 10,
msg: '这里是插入的字符串'
});
可用性
iOS系统
可提供的1.0.0及更高版本
popupKeyboard
弹出键盘
popupKeyboard({params})
Params
id:
- 类型:数字类型
- 描述:输入框id
示例代码
var fillInput = api.require('fillInput');
fillInput.popupKeyboard({
id:0
});
可用性
iOS系统
可提供的1.0.0及更高版本
closeKeyboard
收起键盘
closeKeyboard({params})
Params
id:
- 类型:数字类型
- 描述:输入框id
示例代码
var fillInput = api.require('fillInput');
fillInput.closeKeyboard({
id:0
});
可用性
iOS系统
可提供的1.0.0及更高版本
addEventListener
事件监听
addEventListener({params}, callback(ret))
params
id:
- 类型:数字类型
- 描述:输入框id
name:
- 类型:字符串
- 描述:监听的事件类型
- 取值范围:
- becomeFirstResponder(输入框获得焦点事件)
- resignFirstResponder(输入框失去焦点事件)
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
keyboardHeight:216 //数字类型;本参数仅当当 name 为 becomeFirstResponder 时有效,表示弹出的键盘高度
}
示例代码
var fillInput = api.require('fillInput');
fillInput.addEventListener({
name: 'resignFirstResponder'
}, function(ret) {
alert("输入框失去焦点!");
});
可用性
iOS系统
可提供的1.0.0及更高版本
getSelectedRange
获取当前光标所在位置
getSelectedRange({params},callback(ret))
params
id:
- 类型:数字类型
- 描述:输入框id
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
location:0, //数字类型;光标位置
}
示例代码
var fillInput = api.require('fillInput');
fillInput.getSelectedRange({
id: 0
}, function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统
可提供的1.0.0及更高版本