您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關微信小程序中MaterialDesign--input組件怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
主要通過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 }) } })
關于“微信小程序中MaterialDesign--input組件怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。