今天在做小程序的时候突然发现,咦!这个删除怎么做嘞!怎么让他不刷新数据移除呢!
在做pc版的时候,就是直接向后台发起ajax请求,然后从数据库直接将数据删除掉,在返回给前台一个状态码!然后直接this他的父级,直接移除即可
但是在小程序是没有dom元素的,所以我们是需要换一种思维方式去解决这个问题
前台的所有数据都是从数据库读取出来,然后进行渲染
小程序有个强大的函数那就是this.setData();
3.小程序获取到数据后,大多数情况下是一个数组。
4.将这个数组保存到缓存里边
5.使用缓存来渲染数据
6.当点击删除的时候,直接将数组的下标和数据的id返回到js,数组下标用来删除缓存缓存里边的数据,数据id用来直接删除数据库数据
7.js有相应删除数组方法
8.将删除后的数据在一次存放到缓存里边
9.使用this.setData({});把这个需要渲染的值在进行设置即可
// 删除团队成员 onTapDelMember: function (e) { var that = this; // 获取团队成员 var memberList = wx.getStorageSync('memberList'); console.log(memberList) // 获取团队成员id var id = e.currentTarget.dataset.memberid; console.log(id) wx.showModal({ title: "提示", content: "确定删除此项目?", mask: !0, success: function (e) { // 删除对应的索引 var memberLists = memberList.splice(id, 1); // 存入缓存 var kaka = wx.setStorageSync('memberList', memberList); var getKaka = wx.getStorageSync('memberList'); that.setData({ memberList: getKaka }); } }); },