更新时间:2024-08-05 15:48:52收藏订阅更新我的文档设置返回文档简介输入框,可设置输入内容的类型、长度、显示形式等。当用户需要输入文字内容时点击文本框,它将自动打开键盘。使用文本字段来请求少量信息。使用限制●native 渲染引擎:基础库 2.9.7 开始支持。可以通过 my.caniuse('input') 判断是否支持。●配置 "enableinpagerenderinput":"yes" 后,ios 系统支付宝客户端版本 10.5.63 及以上支持 focus="{{true}}" 自动唤起。●小程序中 input 如果父类是 position: fixed,可以加上 enablenative="{{false}}",解决输入框错位/光标上移问题。个别情况下定位问题会导致光标错位,所以需要把 false 改为 true,代码块为 enablenative="{{true}}"。●confirm-type 与 enablenative 属性冲突,若希望 confirm-type 生效,enablenative 不能设定为 false,而且不能设定 always-system。●输入框是同层组件,使用时需要注意以下限制:○不支持通过修改 css 来修改光标颜色扫码体验使用在线示例属性表格中 “-” 代表支持。属性类型描述webview 兼容性native 兼容性valuestring初始内容。--namestring组件名字,用于表单提交获取数据。--typestringinput 的类型,有效值:text、 number、 idcard、 digit(可以唤起带有小数点的数字键盘)、numberpad、digitpad、 idcardpad、nickname。默认值: text 注意: 当启用数字键盘时,在 android 客户端上,脱离文档流(如设置了 float 或 position: fixed 等样式)并指定了 bottom 属性的元素会被影响(该元素会被键盘顶起)。可以采用如下方法来暂且避免这个问题:当 input 框聚焦后隐藏被影响的元素。基础库 1.13.0 ,客户端 10.1.50 。支持以下类型:numberpad、digitpad、 idcardpad、nickname,可通过my.caniuse("input.type.numberpad") 来检测。客户端 10.5.56 , 支持以下类型:number、 idcard、 digit、 numberpad、 digitpad、 idcardpadpasswordboolean是否是密码类型。 默认值: false--placeholderstring占位符。--placeholder-stylestring指定 placeholder 的样式,可设置间距。基础库 1.6.0 -placeholder-classstring指定 placeholder 的样式类。基础库 1.6.0 -disabledboolean是否禁用。 默认值: false--maxlengthnumber最大长度。 默认值: 140--focusboolean获取焦点。 默认值: false--confirm-typestring设置键盘右下角按钮的文字,有效值:done(显示“完成”)、go(显示“前往”)、next(显示“下一个”)、search(显示“搜索”)、send(显示“发送”),平台不同显示的文字略有差异。 注意: 只有在 type=text 时有效。 默认值: done基础库 1.7.0 -confirm-holdboolean点击键盘右下角按钮时是否保持键盘不收起状态。 默认值: false基础库 1.7.0 -cursornumber指定 focus 时的光标位置。--selection-startnumber获取光标时,选中文本对应的焦点光标起始位置,需要和 selection-end 配合使用。 默认值: -1基础库 1.7.0 -selection-endnumber获取光标时,选中文本对应的焦点光标结束位置,需要和 selection-start 配合使用。 默认值: -1基础库 1.7.0 -random-numberboolean当 type 为 number, digit, idcard 数字键盘是否随机排列。 默认值: false基础库 1.9.0 客户端 10.5.56 controlledboolean是否为受控组件。为 true 时,value 内容会完全受 setdata 控制。 建议当 type 值为 text 时不要将 controlled 设置为 true,详见 bugs & tips。 默认值: false基础库 1.9.0 -always-systemboolean是否强制使用系统键盘和 web-view 创建的 input 元素。为 true 时,confirm-type、confirm-hold 可能失效。 默认值:false基础库 2.7.3 暂不支持oninputeventhandle键盘输入时触发 input 事件,event.detail = {value: value,cursor: cursor}。版本要求:cursor字段基础库 1.14.0 -onconfirmeventhandle点击键盘完成时触发,event.detail = {value: value}--onfocuseventhandle聚焦时触发,event.detail = {value: value}。--onblureventhandle失去焦点时触发(仅支持真机),event.detail = {value: value}。--bug & tip由于部分机型/部分输入法提供联想功能,造成在输入非数字类型的字符时,一次输入会连续触发多次 input 事件,且 input 事件的 event.detail.value 与用户的输入预期不符,最终导致与 controlled 提供的 受控模式 产生冲突。因此,建议当 type 值为 text 时不要将 controlled 设置为 true。faq如何解决 input 输入框在 ios 客户端的光标漂移问题?步骤一:若已在 input 中设置了 enablenative 属性,删除 enablenative 属性的全部设置。 步骤二:在 app.json 文件 window 对象内,设置 "enableinpagerenderinput":"yes"。为何 input 输入框聚焦的时候出现白屏,只有键盘弹出来?因为使用定位导致键盘把页面 input 内容顶上去了,建议使用 搜索框。 需要判断客户端机型为 安卓还是 ios,从而设置 enablenative属性,然后在 app.json 文件 window 对象内,设置 "enableinpagerenderinput":"yes"。为何 input 输入的内容没有在输入框显示?如果是因为使用 fixed 定位导致, 建议通过设置 enablenative 属性解决。小程序 input 输入框获取焦点时会向上推输入框,能否固定?暂不支持。input 输入框弹起键盘有遮挡,影响其他标签控件触发点击事件?建议修改自定义 view 样式。input 输入框是否支持点击事件,比如 click、tap、touchstart?暂时不支持,可以考虑外嵌一层 view,利用 view 的 ontap 事件实现。input 如何用 js 代码清空数据?需要添加属性 controlled="{{true}}" ,也可以在 oninput 事件里把输入的值通过 setdata 再赋值给 value,再去 setdata 设置 value。input 如何进行监听,如果出现不能监听问题如何解决?可以使用 input 的 oninput 事件监听输入值,通过 e.detail.value 打印出输入值进行正则表达式匹配校验。详情请见示例代码。如何判断 input 的 value 值是不是符合正则表示式?使用 var reg = new regexp("\w \s", "g"); getregexp() 需要在 sjs 中使用。 sjs 脚本不能直接在 js 中引入调用父组件如何调用子组件的 input 事件?请参见 组件对象。input 内容跳动、延迟如何处理?可以使用防抖动,示例代码如下:如何在 input 设置了 disabled=true 时,修改 input 的样式 ?修改字体颜色,会有灰蒙颜色的效果,可进行以下设置进行修改:●placeholder-class 属性可以通过 acss 设置默认 placeholder 字体颜色。●class 类选择器在 acss 中可以设置 input 框的颜色,类选择器可以设置输入的字体颜色。