这篇文章主要讲解了“微信小程序怎么实现input输入框”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序怎么实现input输入框”吧!
实现效果图:
微信小程序输入框input
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
value | String | 输入框的内容 | |
type | String | text | input的类型,有效值:text,number,idcard,digit,time,date |
password | Boolean | false | 是否是密码类型 |
placeholder | String | 输入框为空时占位符 | |
placeholder-style | String | 指定placeholder的样式 | |
placeholder-class | String | input-placeholder | 指定placeholder的样式类 |
disabled | Boolean | false | 是否禁用 |
maxlength | Number | 140 | 最大输入长度,设置为0的时候不限制最大长度 |
auto-focus | Boolean | false | 自动聚焦,拉起键盘。页面中只能有一个input设置auto-focus属性 |
focus | Boolean | false | 使得input获取焦点 |
bindchange | EventHandle | 输入框失去焦点时,触发bindchange事件,event.detail={value:value} | |
bindinput | EventHandle | 除了date/time类型外的输入框,当键盘输入时,触发input事件,event.detail={value:value},处理函数可以直接return一个字符串,将替换输入框的内容。 | |
bindfocus | EventHandle | 输入框聚焦时触发,event.detail = {value:value} | |
bindblur | EventHandle | 输入框失去焦点时触发,event.detail = {value:value} |
示例代码:
<!--input.wxml--> <view class="section"> <input placeholder="这是一个可以自动聚焦的input" auto-focus/> </view> <view class="section"> <input placeholder="这个只有在按钮点击的时候才聚焦" focus="{{focus}}" /> <view class="btn-area"> <button bindtap="bindButtonTap">使得输入框获取焦点</button> </view> </view> <view class="section"> <input maxlength="10" placeholder="最大输入长度10" /> </view> <view class="section"> <view class="section__title">你输入的是:{{inputValue}}</view> <input bindinput="bindKeyInput" placeholder="输入同步到view中"/> </view> <view class="section"> <input bindinput="bindReplaceInput" placeholder="连续的两个1会变成2" /> </view> <view class="section"> <input bindinput="bindHideKeyboard" placeholder="输入123自动收起键盘" /> </view> <view class="section"> <input type="emoji" placeholder="这是一个带有表情的输入框" /> </view> <view class="section"> <input password type="number" /> </view> <view class="section"> <input password type="text" /> </view> <view class="section"> <input type="digit" placeholder="带小数点的数字键盘"/> </view> <view class="section"> <input type="idcard" placeholder="身份证输入键盘" /> </view> <view class="section"> <input placeholder- placeholder="占位符字体是红色的" /> </view>
//input.js Page{ data:{ focus:false, inputValue:"" }, bindButtonTap:function){ this.setData{ focus:Date.now) }) }, bindKeyInput:functione){ this.setData{ inputValue:e.detail.value }) }, bindReplaceInput:functione){ var value = e.detail.value; var pos = e.detail.cursor; ifpos != -1){ //光标在中间 var left = e.detail.value.slice0,pos); //计算光标的位置 pos = left.replace/11/g,'2').length; } //直接返回对象,可以对输入进行过滤处理,同时可以控制光标的位置 return { value:value.replace/11/g,'2'), cursor:pos } //或者直接返回字符串,光标在最后边 //return value.replace/11/g,'2'), }, bindHideKeyboard:functione){ ife.detail.value === "123"){ //收起键盘 wx.hideKeyboard); } } })