更新时间:2022-12-20 15:46:52贡献者收藏我的文档设置返回文档input组件常见问题注意:●ios 系统支付宝客户端版本10.1.80及以上不支持 focus=true 自动唤起。●小程序中 input 如果父类是 position: fixed,可以加上 enablenative="{{false}}",解决输入框错位/光标上移问题。个别情况下定位问题会导致光标错位,所以需要把 false 改为 true,代码块为 enablenative="{{true}}"。 人民币符号显示一横遇到人民币符号只显示一横的问题,主要原因是不同rom厂商定制问题,现在遇到华为和oppo,在系统短信输入框内输入¥(uffe5) 只显示一横,所以不是小程序容器或者客户端的问题。●符号:¥ ascii:uffe5 显示:有的rom是一横。●符号:¥ ascii:u00a5 显示:都是两横(建议使用)。正确输入方法:在简体中文输入法如微软拼音、搜狗拼音输入法或fcitx中,直接按下 $ 键会输入全角字符 ¥(uffe5),而非半角双横线字符 ¥(u00a5)。用户可以通过自定义词典、符号等方式方便输入 ¥。 ios input组件focus属性不起作用ios 系统支付宝客户端版本 10.1.80 及以上不支持 focus=true 自动唤起。 input修改字体没有效果input 字体无法修改。只能修改 placeholder 占位符的字体,value的字体修改不了。 input组件两个输入框来回点击软键盘收起后出现空白可以在 input 组件中添加 enablenative="{{false}}" 属性和属性值来解决。例如: 。input和textarea通过setdata清空数据不生效●需要添加属性 controlled="{{true}}" 表示 value 内容会完全受 setdata 控制。●也可以在 oninput 事件里把输入的值通过 setdata 再赋值给 value,再去 setdata 设置 value 为空时就能生效。 setdata刷新input的value值无效需要在 input 组件里加上 controlled="{{true}}"属性,表示value内容会完全受 setdata 控制,默认值是 false。 input光标的颜色是否可以设置目前小程序没有提供设置 input 组件光标颜色的属性。 input如何用js代码清空数据需要添加属性 controlled="{{true}}",也可以在 oninput 事件里把输入的值通过 setdata 再赋值给 value,再去 setdata 设置 value。示例代码:判断input的value是否符合正则表示式使用 var reg = new regexp("\\w \\s", "g"); getregexp() 需要在 sjs 中使用。 sjs 脚本不能直接在 js 中引入调用。 input组件光标focus时发生位移●小程序中 input 如果父类是 position: fixed,可以加上 enablenative="{{false}}",解决输入框错位/光标上移问题。●个别情况下定位问题会导致光标错位,需要把 false 改为 true,代码块为 enablenative="{{true}}"。●input 输入框在 ios 客户端的光标漂移可按照以下步骤设置:步骤一:若已在 input 中设置了 enablenative 属性,删除 enablenative 属性的全部设置。步骤二:在 app.json 文件 window 对象内,设置 "enableinpagerenderinput":"yes"。注意:建议通过my.getsysteminfo获取手机系统名platform来分别做兼容。 input输入框setdata为空字符串"",第一次有效,之后无效input 输入框,利用 button 控制清空其 value 值,第一次有效,然后输入一些字符串,再次点击 button 清空无效。原因:利用 this.setdata,已经给变量赋值为"",第二次(含)以后因为变量已经是"",所以无效。解决办法:input 输入框的 oninput 绑定事件,输入时触发,此时调用 this.setdata 给变量赋值,oninput 和 button 点击事件结合,可以解决清空无效问题。其它问题:真机上输入操作时,不管是输入还是删除,由于一直在不停调用this.setdata方法,导致光标位移以及输入和删除混乱,为提升用户体验,可以增加防抖功能。 input输入的内容没有在输入框显示1、使用了 fixed 定位布局,建议更换 fixed 定位布局使用相对或者绝对定位。2、检查是否有其它元素层级过高遮挡了 input。3、使用文档上提供的二维码测试当前机型是否正常,如正常可参考 demo 的写法。 input输入框聚焦的时候出现白屏只有键盘弹出来因为使用 fixed 布局导致键盘把页面 input 内容顶上去,可以加上 enablenative="{{false}}",解决输入框错位/光标上移问题。个别情况下定位问题会导致光标错位,所以需要把 false 改为 true,代码块为 enablenative="{{true}}",推荐使用 searchbar 搜索框。 textarea组件常见问题●无法通过 textarea 获取键盘高度;●ios 系统支付宝客户端版本 10.1.80 及以上不支持 focus=true 自动唤起。●可以使用 my.hidekeyboard 隐藏键盘。●添加属性 controlled="{{true}}" 表示 value 内容会完全受 setdata 控制。●可以在 input 组件中加上 enablenative="{{false}}",避免 textarea 弹出键盘后内容被顶上去。●加上 enablenative="{{false}}" 解决安卓系统下 textarea 获取焦点的时候文字消失问题。 textarea组件光标发生位移●可以在 input 组件中加上 enablenative="{{false}}",避免 textarea 弹出键盘后内容被顶上去。●加上 enablenative="{{false}}" 解决安卓系统下 textarea 获取焦点的时候文字消失问题。 textarea标签是否可以设置为不限制最大长度可以设置 maxlength 参数,值为 -1 时,就表示不限制最大长度。 textarea多行输入框高度能自定义吗可自行通过 style/acss 样式修改 textarea(多行输入框)height 高度或使用 auto-height:true (自动增高)。 textearea的字数统计textearea 组件中有字数统计的属性 show-count 显示字数统计。注意:如果进行数据的统计可以在数据发生变化的时候,对整体的值进行 .length 来计算长度。 textarea里的文本如何换行textarea 组件输入内容满一行会自动换行。说明:设置 word-break:break-all 可能会导致无法换行,建议设置为 normal 或者不做设置。 input和textarea通过setdata清空数据不生效●需要添加属性 controlled="{{true}}" 表示 value 内容会完全受 setdata 控制。●也可以在 oninput 事件里把输入的值通过 setdata 再赋值给 value,再去 setdata 设置 value 为空时就能生效。