记事本写小程序C语言,微信小程序留言,记事本demo案例编写

此次编写留言,记事本demo,涉及到的小程序的技术主要是存入缓存和读取缓存。还有小程序基本组件知识。

wxml代码如下:48304ba5e6f9fe08f3fa1abda7d326ab.png!--pages/test/test.wxml--textpages/test/test.wxml/textview class="mes_view"input type="text" placeholder="请输入留言内容" bindinput="getval"/button size="mini"  bindtap="sbumit" 提交/button/viewview class="mes_list"  ul    li wx:for="{{meslist}}" wx:for-item="item"{{item.mes}} icon data-index="{{index}}" class="rightClass" type="cancel" size="16" bindtap="dellist" //li  /ul/view48304ba5e6f9fe08f3fa1abda7d326ab.png

data初始化数据如下:48304ba5e6f9fe08f3fa1abda7d326ab.png// pages/test/test.jsPage({  /**   * 页面的初始数据   */  data: {    getval:'',    hello:'hello',    meslist:[]  },48304ba5e6f9fe08f3fa1abda7d326ab.png

input框中填写内容时触发bindinput  执行getval函数,getval函数获取input框中的值赋值给data的getval,代码如下:getval:function(e){    this.setData({      getval:e.detail.value    })  },

点击提交时,执行submit函数,首先将data的meslist数据赋值给变量list进行存储,每次提交时,将获取到的mes:data.getval值用数组push函数,自动添加到最后一行。

最后将得到的list数组信息赋值给meslist48304ba5e6f9fe08f3fa1abda7d326ab.pngsbumit: function (options) {      var that =this;      console.log('-----设置前-------');      console.log(that.data.getval);      var list = that.data.meslist;      list. push({        mes:that.data.getval});      that.setData({        meslist:list      });  },48304ba5e6f9fe08f3fa1abda7d326ab.png

数据删除按钮,给按钮icon提供一个变量信息index,当进行循环输出时,index自增,用来区分不同留言信息。data-index="{{index}}"

点击删除按钮时,执行dellist函数,获取页面上的index值,区分要删除的留言数。

首先将目前的留言条数赋值给newlist,对newlist进行删除用户点击的具体信息,用的是splice函数。此函数的返回值是删除的该元素信息,因此不可直接赋值。48304ba5e6f9fe08f3fa1abda7d326ab.pngdellist:function(res){    var u =res.target.dataset.index;    var newlist = this.data.meslist;    newlist.splice(u,1);    // var newlist = this.data.meslist.splice(u,1);    // 这样的方法是错误的,splice方法返回的是被删除的元素,    this.setData({      meslist:newlist    });  },48304ba5e6f9fe08f3fa1abda7d326ab.png

onHide函数为生命周期函数--监听页面隐藏,当页面隐藏时,将用户信息存储到缓存中,key为查找的关键字。48304ba5e6f9fe08f3fa1abda7d326ab.pngonHide: function () {    var res = this.data.meslist;    console.log('页面隐藏了');      wx.setStorage({        key:"meslist",        data:res,        success: function(res) {        console.log('存储缓存成功')          }       })  },48304ba5e6f9fe08f3fa1abda7d326ab.png

从缓存中取数据,当打开页面时,执行onLoad函数,获取缓存,缓存数据的结果存放在res.data中,同时改变页面显示内容,用setData函数。48304ba5e6f9fe08f3fa1abda7d326ab.png/**   * 生命周期函数--监听页面加载   */  onLoad: function (options) {    console.log('页面显示了');    var that = this;        wx.getStorage({          key: 'meslist',          success: function(res) {              console.log(res.data)              that.setData({                meslist:res.data              })          }       })    },48304ba5e6f9fe08f3fa1abda7d326ab.png

整个demo功能比较简单,用到的知识也是小程序常用的,这个小demo做出后,对小程序的理解也加深了一步。

补充,完善功能点:测试demo时,发现,留言提交后,input框的内容不会进行改变,点击提交还会无限提交,效果非常不好。

因此修改了这个bug。

wxml代码如下:viewclass="mes_view"inputtype="text"placeholder="请输入留言内容"bindinput="getval"value="{{inputval}}"/buttonsize="mini"bindtap="sbumit" 提交/button/view

给value加了一个变量,当value值为空的时候placeholder的值才会出现。data: {    getval:'',    hello:'hello',    meslist:[],    inputval:""},

js代码如下:sbumit: function(options) {var that =this;      console.log('-----设置前-------');      console.log(that.data.getval);var list =that.data.meslist;if(that.data.getval){        list. push({          mes:that.data.getval});        that.setData({          meslist:list,          inputval:"",          getval:""});              }else{        wx.showModal({          title:'提示',          content:'请输入留言内容',        })      }  },

点击提交时,先判断,value值是否有值,没有值直接弹出窗口提示。有值时执行下一步操作,此处记住setData的时候,一定要将inputval和getval两个值初始化,设为空。

因为在进行了一次提交时,getval值已经取得值,因此,如果getval不初始化,仍然可以提交。此处研究了半个小时。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码(含截图)小熊的日记微信小程序源码
小程序之备忘录开发的源码,微信的react的特性使它很适合用来开发这种单机版简单交互的备忘录。在本示例中,初始时页面只有一个简简单单的欢迎词和文本框,当聚焦文本框开始输入文字,下方出现提交及重置按钮,默认开始时间为当前;点击时间可以重新选择,默认该项目到点前会进行提醒;也可以点绿色开关改成不需要提醒。   页面提交后,下面出现备忘录列表,每行后面有打钩图标用于切换该事项是否已完成、以及X按钮用以删除该事项;当该事项被设为已完成,会跟其他事项有颜色区分。   同时 下面出现一些操作功能,比如切换“显示全部” 以及 “只显示未完成事项”的功能,全部标为已完成、以及删除全部的按钮。   另外当列表存在数据时,下面还有一个按钮保存数据,将当前数据保存到缓存区域,用以下次打开时继续显示个人备忘录状态。   当时间到达有需要提醒的项目前一分钟,或者如果是需要立即开始的当前时间,界面会跳出项目内容,同时播放语音提醒。点击确定表示马上去完成该项目。此时系统会自动将该项目设置为已完成。   个人体会:每个页面的数据绑定(data)是小程序的核心部分,通过setData存入和花括号的读取实现了普通html静态页面没有做到的动态交互;不管是从当前页面提交的表单数据,还是从网络、json文件、api接口读取来的数据在这里交汇并被处理、使用。理解这一点,其他的具体组件/接口等等具体使用方法都是细枝末节了,可以通过查询文档练习掌握。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值