微信小程序之MaterialDesign--input组件详解

发布时间 - 2026-01-10 23:04:04    点击率:

主要通过input输入事件配合css的transform动态改变实现这种效果。

实际调试过程中,input组件bindinput事件触发后回调的detail对象,在模拟器中含有cursor属性,在真机中(测过安卓,ios没测过)却没有该属性,最后选择detail对象中的value属性的值的长度来同步输入的位数。

bindfocus事件最好不要添加改变css的代码 。

预览图片:

JS:

//index.js
//获取应用实例
var app = getApp()
Page({
 data: {
  v_username_border:'', //用户输入框底部border样式
  v_pwd_border:'', // 密码输入框底部border样式
  v_float_username:'', // 浮动文字字transform 样式
  v_float_pwd:'',
  num_current_un:0, // 当前输入的文本位数
  sp_num_current_un:'', // 当前输入文本位数超过限制时的样式
  isPwdError:false // 提交时 密码输入错误时的文本提示
 },
 onLoad: function () {
  console.log('onLoad')
 },
 // 用户名输入框获取焦点时事件回调
 usernameFocus:function(e){
  var that = this;
  console.log(e.detail)
 },
 // 用户名输入框输入时事件回调
 usernameInput:function(e){
  console.log(e.detail)
   this.setData({
   v_username_border:'border-bottom:1px solid red',
   num_current_un:e.detail.value.length
  })
  if(e.detail.value.length!=0){
    this.setData({
    v_float_username:'color:red ;transform: translateY(-18.5px)',
    sp_num_current_un:'color:lightseagreen;'
   })
   if(e.detail.value.length>20){
    this.setData({
     sp_num_current_un:'color:orangered;'
    })
   }
  }else{
   this.setData({
    v_float_username:'transform: translateY(0px)',
   })
  }
 },
 // // 用户名输入框失去焦点时回调
 usernameBlur:function(e){
  console.log("onBlur")
   this.setData({
   v_username_border:'border-bottom:1px solid grey'
  })
 },
 pwdFocus:function(e){
  console.log('onFocus')
 },
 pwdInput:function(e){
  this.setData({
   v_pwd_border:'border-bottom:1px solid red',
   isPwdError:false
  })
  console.log(e.detail)
  if(e.detail.value.length!=0){
   this.setData({
    v_float_pwd:'color:red ; transform: translateY(-18.5px)',
   })
  }else{
   this.setData({
    v_float_pwd:'transform: translateY(0px)',
   })
  }
 },
  pwdBlur:function(e){
  console.log("onBlur")
   this.setData({
   v_pwd_border:'border-bottom:1px solid grey; '
  })
 },
// 登录按钮模拟表单提交 可用form组件代替
 onLogin:function(e){
  this.setData({
   isPwdError:true
  })
 }
})

源码地址:We-MaterialDesign_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# 微信小程序  # input组件  # MaterialDesign  # input组件详解  # JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题  # 详解微信小程序input标签正则初体验  # 解读input标签的value属性及name属性  # 输入框  # 回调  # 却没有  # 表单  # 大家多多  # 过程中  # 象中  # 应用实例  # 机中  # 中含有  # Page  # app  # getApp  # num_current_un  # var  # data  # border  # v_float_username  # v_float_pwd  # v_pwd_border 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  如何确保西部建站助手FTP传输的安全性?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何快速使用云服务器搭建个人网站?  北京网站制作公司哪家好一点,北京租房网站有哪些?  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  制作旅游网站html,怎样注册旅游网站?  如何在云主机上快速搭建网站?  Swift中循环语句中的转移语句 break 和 continue  如何挑选高效建站主机与优质域名?  Java解压缩zip - 解压缩多个文件或文件夹实例  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  零基础网站服务器架设实战:轻量应用与域名解析配置指南  实例解析angularjs的filter过滤器  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Java遍历集合的三种方式  如何在万网利用已有域名快速建站?  iOS发送验证码倒计时应用  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  创业网站制作流程,创业网站可靠吗?  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  Linux系统命令中screen命令详解  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel如何处理文件下载请求?(Response示例)  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  如何在阿里云通过域名搭建网站?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  什么是javascript作用域_全局和局部作用域有什么区别?  微信小程序 input输入框控件详解及实例(多种示例)  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  JS实现鼠标移上去显示图片或微信二维码  高性能网站服务器配置指南:安全稳定与高效建站核心方案  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  香港服务器选型指南:免备案配置与高效建站方案解析  详解阿里云nginx服务器多站点的配置  如何正确下载安装西数主机建站助手?  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  Android利用动画实现背景逐渐变暗