这篇文章主要介绍了微信小程序 checkbox使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
效果图如下:
实例代码如下:
type_add.js
// pages/detail_add/detail_add.js Page({ /** * 页面的初始数据 */ data: { selectData: \"\", //下拉列表的数据 height: 20, focus: false }, checkboxChange: function(e) { console.log(\'checkbox发生change事件,携带value值为:\', e.detail.value) console.log(\"长度:\" + e.detail.value.length); this.setData({ typeId: e.detail.value, length: e.detail.value.length }) }, formSubmit: function(e) { console.log(\'form发生了submit事件,携带数据为:\' + e.detail.value.amount + \", \" + e.detail.value.typeId + \", \" + this.data.remark + \", \" + this.data.date + \", \" + this.data.time); var amount = e.detail.value.amount; var typeId = this.data.typeId; var date = this.data.date; var time = this.data.time; var remark = e.detail.value.remark; var createDate = date + \" \" + time; var length = this.data.length; console.log(\"length:\" + length); console.log(\"date:\" + date); console.log(\"time:\" + time); console.log(\"createDate:\" + createDate) if (amount == null || amount == \"\") { wx.showToast({ title: \"支出金额不能为空\", icon: \'none\', duration: 1500 }) } else if (typeId == null || typeId == \"\") { wx.showToast({ title: \"支出类型不能为空\", icon: \'none\', duration: 1500 }) } else if (length >= 2) { wx.showToast({ title: \"支出类型只能选择一种\", icon: \'none\', duration: 1500 }) } else if (date == null || date == \"\") { wx.showToast({ title: \"日期不能为空\", icon: \'none\', duration: 1500 }) } else if (time == null || time == \"\") { wx.showToast({ title: \"时间不能为空\", icon: \'none\', duration: 1500 }) } else if (remark == null || remark == \"\") { wx.showToast({ title: \"备注不能为空\", icon: \'none\', duration: 1500 }) } else { wx.request({ url: getApp().globalData.urlPath + \"spendingDetail/add\", method: \"POST\", data: { amount: amount, typeId: typeId, createDate: createDate, remark: remark }, header: { \"Content-Type\": \"application/x-www-form-urlencoded\" }, success: function(res) { console.log(res.data.code); if (res.statusCode == 200) { //访问正常 if (res.data.code == \"000000\") { wx.showToast({ title: \"添加支出详情成功\", icon: \'success\', duration: 3000, success: function() { wx.navigateTo({ url: \'../detail/detail\' }) } }) } } else { wx.showLoading({ title: \'系统异常\', fail }) setTimeout(function() { wx.hideLoading() }, 2000) } } }) } }, formReset: function() { console.log(\'form发生了reset事件\') }, bindDateChange: function(e) { console.log(\'picker发送选择改变,携带值为\', e.detail.value) this.setData({ date: e.detail.value }) }, bindTimeChange: function(e) { console.log(\'picker发送选择改变,携带值为\', e.detail.value) this.setData({ time: e.detail.value }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { wx.setNavigationBarTitle({ title: \"添加支出详情\" }) var userCode = wx.getStorageSync(\'userId\').toString(); var self = this; wx.request({ url: getApp().globalData.urlPath + \"spendingType/types\", //json数据地址 data: { userCode: userCode }, headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" }, success: function(res) { console.log(\"res.data.data.typeName:\" + res.data.data) self.setData({ selectData: res.data.data }) } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function() { }, /** * 生命周期函数--监听页面显示 */ onShow: function() { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function() { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function() { }, /** * 用户点击右上角分享 */ onShareAppMessage: function() { } })
type_add.wxml:
<form bindsubmit=\"formSubmit\" bindreset=\"formReset\"> <view class=\"section\"> <text>支出金额</text> <input name=\"input\" name=\"amount\" placeholder=\"请输入支出金额\" /> </view> <view class=\"section\"> <text>支出类型</text> <checkbox-group bindchange=\"checkboxChange\"> <label class=\"checkbox\" wx:for=\"{{selectData}}\"> <checkbox value=\"{{item.typeId}}\" checked=\"{{item.checked}}\" />{{item.typeName}} </label> </checkbox-group> </view> <view> <text>创建时间</text> <view class=\"section\"> <picker mode=\"date\" value=\"{{date}}\" start=\"2018-09-01\" end=\"2030-09-01\" bindchange=\"bindDateChange\"> <view class=\"picker\"> 选择日期: {{date}} </view> </picker> </view> <view class=\"section\"> <picker mode=\"time\" value=\"{{time}}\" start=\"00:00=\" end=\"23:59\" bindchange=\"bindTimeChange\"> <view class=\"picker\"> 选择时间: {{time}} </view> </picker> </view> </view> <view class=\"section\"> <text>备注</text> <input name=\"input\" name=\"remark\" placeholder=\"请输入备注\" /> </view> <view> <text>\\n</text> </view> <view class=\"btn-area\"> <button form-type=\"submit\">提交</button> <view> <text>\\n</text> </view> <button form-type=\"reset\">重置</button> </view> </form>
bindchange=”checkboxChange” 相当于js中的onchange事件。
上述中的form表单基本就是参考官方文档改的。
有一段代码还是要提一下:
self.setData({ selectData: res.data.data })
self其实相当于this,意为当前。每次触发事件,对应的值都会进行存储,用于与后台通信进行数组传递,
type_add.wxss:
/* pages/login/login.wxss */ form{ width: 310px; height: 240px; line-height: 40px; /* border: 1px solid red; */ } input{ border: 1px solid #ccc; width: 310px; height: 40px; } .button{ margin-top: 20px; } .header text{ font-size: 25px; color: #666; } form text{ font-size: 20px; color: #666; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
© 版权声明
THE END
暂无评论内容