日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信小程序入门三: 简易form、本地存储

發布時間:2023/12/9 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序入门三: 简易form、本地存储 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實例內容

  • 登陸界面
  • 處理登陸表單數據
  • 處理登陸表單數據(異步)
  • 清除本地數據

實例一: 登陸界面

在app.json中添加登陸頁面pages/login/login,并設置為入口。

保存后,自動生成相關文件(挺方便的)。

修改視圖文件login.wxml

<!--pages/login/login.wxml--> <view class="container"><form bindsubmit="formSubmit"><view class="row"><text>姓 名:</text><input type="text" name="userName" placeholder="請輸入用戶名" /></view><view class="row"><text>密 碼:</text><input type="password" name="userPassword" placeholder="請輸入密碼" /></view><view class="row"><button type="primary" form-type="submit">登陸</button></view></form> </view>

修改登陸樣式login.wxss

/* pages/login/login.wxss */ .container{padding: 1rem;font-size: 0.9rem;line-height: 1.5rem;border-shadow: 1px 1px #0099CC; } .row{display: flex;align-items: center;margin-bottom: 0.8rem; } .row text{flex-grow: 1;text-align: right; } .row input{font-size: 0.7rem;color: #ccc;flex-grow: 3;border: 1px solid #0099CC;display: inline-block;border-radius: 0.3rem;box-shadow: 0 0 0.15rem #aaa;padding: 0.3rem; } .row button{padding: 0 2rem; }

看下樣式:

form相關屬性:

屬性名類型說明
report-submitBoolean是否返回formId用于發送模板消息
bindsubmitEventHandle攜帶form中的數據觸發submit事件,event.detail = { value : {"name":"value"} , formId:"" }
bindresetEventHandle表單重置時會觸發reset事件

這里用到了bindsubmit ,用于處理提交的表單數據。

input 相關屬性

屬性名類型默認值說明
valueString輸入框的內容
typeStringtextinput的類型,有效值:text,number,idcard,digit,time,date
passwordBooleanfalse是否是密碼類型
placeholderString輸入框為空時占位符
placeholder-styleString指定placeholder的樣式
placeholder-classStringinput-placeholder指定placeholder的樣式類
disabledBooleanfalse是否禁用
maxlengthNumber140最大輸入長度,設置為0的時候不限制最大長度
auto-focusBooleanfalse自動聚焦,拉起鍵盤。頁面中只能有一個input設置auto-focus屬性
focusBooleanfalse使得input獲取焦點
bindchangeEventHandle輸入框失去焦點時,觸發bindchange事件,event.detail={value:value}
bindinputEventHandle除了date/time類型外的輸入框,當鍵盤輸入時,觸發input事件,event.detail={value:value},處理函數可以直接return一個字符串,將替換輸入框的內容。
bindfocusEventHandle輸入框聚焦時觸發,event.detail = {value:value}
bindblurEventHandle輸入框失去焦點時觸發,event.detail = {value:value}

button 相關屬性

屬性名類型默認值說明
sizeStringdefault有效值default, mini
typeStringdefault按鈕的樣式類型,有效值primary, default, warn
plainBooleanfalse按鈕是否鏤空,背景色透明
disabledBooleanfalse是否禁用
loadingBooleanfalse名稱前是否帶 loading 圖標
formTypeString有效值:submit, reset,用于form組件,點擊分別會觸發submit/reset事件
hover-classStringbutton-hover指定按鈕按下去的樣式類。當hover-class="none"時,沒有點擊態效果

此Demo中將button的formType設置為submit用于激活表單提交事件。


實例二: 處理登陸表單數據

修改login.js

// pages/login/login.js Page({data:{userName:'',userPassword:'',},formSubmit:function(e){console.log(e.detail.value);//格式 Object {userName: "user", userPassword: "password"}//獲得表單數據var objData = e.detail.value;if(objData.userName && objData.userPassword){// 同步方式存儲表單數據wx.setStorageSync('userName', objData.userName);wx.setStorageSync('userPassword', objData.userPassword);//跳轉到成功頁面wx.navigateTo({url: '../index/index'})}},//加載完后,處理事件 // 如果有本地數據,則直接顯示onLoad:function(options){//獲取本地數據var userName = wx.getStorageSync('userName');var userPassword = wx.getStorageSync('userPassword');console.log(userName);console.log(userPassword);if(userName){this.setData({userName: userName});}if(userPassword){this.setData({userPassword: userPassword});}},onReady:function(){// 頁面渲染完成},onShow:function(){// 頁面顯示},onHide:function(){// 頁面隱藏},onUnload:function(){// 頁面關閉} })

這里使用到了wx.getStorageSync和wx.setStorageSync,這里說一下,上面這兩個方法類似于HTML5的本地存儲,屬于同步存儲方式。

這兩個方法,使用很簡單,列下參數:

wx.setStorageSync(KEY,DATA)

屬性名類型必填說明
keyString本地緩存中的指定的key
dataObject/String需要存儲的內容

wx.getStorageSync

屬性名類型必填說明
KEYString本地緩存中的指定的key

修改一下login.wxml

<view class="row"><text>姓 名:</text><input type="text" name="userName" placeholder="請輸入用戶名" value="{{userName}}" /></view><view class="row"><text>密 碼:</text><input type="password" name="userPassword" placeholder="請輸入密碼" value="{{userPassword}}" /></view>

這個小實例,會在登陸的時候,將登陸信息存到本地存儲,當下次登陸時,如果本地存儲中有相應信息,則直接填寫上。

效果(再一次運行后,自動填寫上了信息):


實例三: 處理登陸表單數據(異步)

這里采用異步的方式存放數據。

修改一下login.js

// pages/login/login.js Page({data:{userName:'',userPassword:'',},formSubmit:function(e){console.log(e.detail.value);//格式 Object {userName: "user", userPassword: "password"}//獲得表單數據var objData = e.detail.value;if(objData.userName && objData.userPassword){// 同步方式存儲表單數據wx.setStorage({key:'userName', data:objData.userName});wx.setStorage({key:'userPassword', data:objData.userPassword});//跳轉到成功頁面wx.navigateTo({url: '../index/index'})}},//加載完后,處理事件 // 如果有本地數據,則直接顯示onLoad:function(options){var that = this;//獲取本地數據wx.getStorage({key: 'userName',success: function(res){console.log(res.data);that.setData({userName: res.data});}});wx.getStorage({key: 'userPassword',success: function(res){console.log(res.data);that.setData({userPassword: res.data});}});},onReady:function(){// 頁面渲染完成},onShow:function(){// 頁面顯示},onHide:function(){// 頁面隱藏},onUnload:function(){// 頁面關閉} })

wx.setStorage(OBJECT)

屬性名類型必填說明
keyString本地緩存中的指定的 key
dataObject/String需要存儲的內容
successFunction接口調用成功的回調函數
failFunction接口調用失敗的回調函數
completeFunction接口調用結束的回調函數(調用成功、失敗都會執行)

wx.getStorage(OBJECT)

屬性名類型必填說明
keyString本地緩存中的指定的 key
successFunction接口調用的回調函數,res = {data: key對應的內容}
failFunction接口調用失敗的回調函數
completeFunction接口調用結束的回調函數(調用成功、失敗都會執行)

實例四: 清除本地數據

這里就不詳細寫了,直接介紹一下這兩個清除本地數據的方法。

wx.clearStorage()

wx.clearStorageSync()

直接執行即可實現。


博客名稱:王樂平博客

博客地址:http://blog.lepingde.com

CSDN博客地址:http://blog.csdn.net/lecepin



總結

以上是生活随笔為你收集整理的微信小程序入门三: 简易form、本地存储的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。