DDR爱好者之家 Design By 杰米
微信小程序 input输入框控件
今天主要详写一下微信小程序中的Input输入框控件,输入框在程序中是最常见的,登录,注册,获取搜索框中的内容等等都需要,同时,还需要设置不同样式的输入框,今天的代码中都要相应的使用。
首先主页面中将登录的样式进行了简单展示和使用,
代码如下:
<!--index.wxml-->
<!--如果在同一个form表单中创建了多个input输入框,可以给给每个输入框,创建自己的 name=“userName”属性,可以区别哪个输入框,并通过添加 属性提交:bindsubmit="方法名" 重置:bindreset="方法名",达到清除输入框内容的目的 js文件中的用法,e.detail.value.userName.length--> <view class="itemView">用户名: <input class="input" name="userName" placeholder="请输入用户名" bindinput="userNameInput"/> </view> <view class="itemView">密 码: <input class="input" password placeholder="请输入密码" bindinput="passWdInput" /> </view> <view class="viewName" style="background-color:#fbf9fe"> <button class="loginBtn" bindtap="loginBtnClick">登录</button> <button class="resetBtn" bindtap="resetBtnClick">清除</button> </view> <view>{{infoMess}}</view> <view>{{userName}}</view> <view>{{passWd}}</view> <view class="viewName" style="margin-top: 60px;"> <navigator url="Component/TextInput/TextInput"> <text class="view-Name">各类型输入框展示</text> </navigator> </view>
//index.js
//获取应用实例 var app = getApp() Page({ data: { infoMess: '', userName: '', userN:'', passWd: '', passW:'' }, //用户名和密码输入框事件 userNameInput:function(e){ this.setData({ userN:e.detail.value }) }, passWdInput:function(e){ this.setData({ passW:e.detail.value }) }, //登录按钮点击事件,调用参数要用:this.data.参数; //设置参数值,要使用this.setData({})方法 loginBtnClick:function(){ if(this.data.userN.length == 0 || this.data.passW.length == 0){ this.setData({ infoMess:'温馨提示:用户名和密码不能为空!', }) }else{ this.setData({ infoMess:'', userName:'用户名:'+this.data.userN, passWd:'密码:'+this.data.passW }) } }, //重置按钮点击事件 resetBtnClick:function(e){ this.setData({ infoMess: '', userName: '', userN:'', passWd: '', passW:'', }) }, onLoad: function () { console.log('onLoad') var that = this //调用应用实例的方法获取全局数据 app.getUserInfo(function(userInfo){ //更新数据 that.setData({ userInfo:userInfo }) }) } })
然后在第二个界面中显示了不同的样式和功能的input
<!--pages/index/Component/TextInput/TextInput.wxml--> <view class="viewTitle"> <text class="view-Name">TextInput输入框展示</text> <view class="lineView"></view> </view> <view class="section"> <input class="input" placeholder-style="font-size:15px" placeholder="自动聚焦弹出键盘,一个页面中只能有一个" auto-focus/> </view> <view class="section"> <input class="input" placeholder="此处只有在点击下方按钮时才聚焦" focus="{{focus}}" /> </view> <view class="section1"> <button bindtap="bindButtonTap">使得输入框获取焦点</button> </view> <view class="section"> <input class="input" maxlength="10" placeholder="最大输入长度10" /> </view> <view class="section__title">你输入的是:{{inputValue}}</view> <view class="section"> <input class="input" bindinput="bindKeyInput" placeholder="输入同步到view中"/> </view> <view class="section"> <input class="input" bindinput="bindReplaceInput" placeholder="连续的两个1会变成2" /> </view> <view class="section"> <input class="input" bindinput="bindHideKeyboard" placeholder="输入123自动收起键盘" /> </view> <view class="section"> <input class="input" type="number" placeholder="这是一个数字输入框" /> </view> <view class="section"> <input class="input" password type="text" placeholder="这是一个密码输入框" /> </view> <view class="section"> <input class="input" type="digit" placeholder="带小数点的数字键盘"/> </view> <view class="section"> <input class="input" type="idcard" placeholder="身份证输入键盘" /> </view> <view class="section"> <input class="input" placeholder-style="color:red" placeholder="占位符字体是红色的" /> </view>
// pages/index/Component/TextInput/TextInput.js Page({ data: { focus: false, inputValue: '' }, bindButtonTap: function() { this.setData({ focus: true }) }, bindKeyInput: function(e) { this.setData({ inputValue: e.detail.value }) }, bindReplaceInput: function(e) { var value = e.detail.value var pos = e.detail.cursor if(pos != -1){ // 光标在中间 var left = e.detail.value.slice(0,pos) // 计算光标的位置 pos = left.replace(/11/g,'2').length } // 直接返回对象,可以对输入进行过滤处理,同时可以控制光标的位置 return { value: value.replace(/11/g,'2'), cursor: pos } // 或者直接返回字符串,光标在最后边 // return value.replace(/11/g,'2'), }, bindHideKeyboard: function(e) { if (e.detail.value === "123") { //收起键盘 wx.hideKeyboard() } }, onLoad:function(options){ // 页面初始化 options为页面跳转所带来的参数 }, onReady:function(){ // 页面渲染完成 }, onShow:function(){ // 页面显示 }, onHide:function(){ // 页面隐藏 }, onUnload:function(){ // 页面关闭 } })
效果图:
源码下载地址:DEMO
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月28日
2024年11月28日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]