微信小程序云开发之模拟后台增删改查
2019-05-16 18:02
931 查看
小程序云开发出来之后,小程序开发人员也要慢慢的接触后端对数据的增删改查了。下面就给大家提供一个案例吧。
这里我把新增和修改放在了一个页面
显示页面index.wxml
<view wx:if="{{books}}" class='container'> <view class='title'> <text>图书列表</text> </view> <view class='label'> <text>书名</text> <text>作者</text> <text>价格</text> <text>操作</text> </view> <block wx:for="{{books}}" wx:key=""> <view class='content'> <text>{{item.name}}</text> <text>{{item.author}}</text> <text>{{item.price}}</text> <button class='del' data-id='{{item._id}}' bindtap='onDel'>删除</button> <button class='update' data-id='{{item._id}}' bindtap='onUpdate'>修改</button> </view> </block> </view> <view wx:else="{{books}}" class='none'> <text >暂时没有图书!</text> </view> <view class='add'> <button bindtap='goSet'>添加图书</button> </view>
index.js
// pages/index/index.js Page({ /** * 页面的初始数据 */ data: { books:[] }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { const db = wx.cloud.database() db.collection("books").get({ success:res=>{ this.setData({ books:res.data }) },fail:err=>{ wx.showToast({ icon:"none", title: '查询记录失败', }) } }) }, goSet:function(){ wx.navigateTo({ url: '../set/set', }) }, onDel:function(e){ let id = e.currentTarget.dataset.id const db = wx.cloud.database(); db.collection("books").doc(id).remove({ success:res=>{ wx.showToast({ title: '删除成功', }) this.onLoad()//删除成功重新加载 },fail:err=>{ wx.showToast({ title: '删除失败', }) } }) console.log(id) },onUpdate:function(e){ let id = e.currentTarget.dataset.id wx.navigateTo({ url: '../set/set?id='+id, }) } })
添加和修改共用set.wxml
<!--pages/set/set.wxml--> <view class='container'> <form bindsubmit='comfirm' > <view class='input-container'> <label>书名:</label> <input style='display:none' data-value='{{id}}' name="id" value='{{book._id}}'></input> <input data-value='{{name}}' name="name" value='{{book.name}}'></input> </view> <view class='input-container'> <label>作者:</label> <input data-value='{{author}}' name="author" value='{{book.author}}'></input> </view> <view class='input-container'> <label>价格:</label> <input data-value='{{price}}' name ="price" value='{{book.price}}'></input> </view> <view class='comfirm'> <button form-type='submit'>保存</button> </view> </form> </view>
set.js
// pages/set/set.js Page({ /** * 页面的初始数据 */ data: { book:[] }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if(options.id){ const db = wx.cloud.database(); db.collection("books").where({ _id:options.id }).get({ success:res=>{ this.setData({ book:res.data[0]//返回的是一个数组,取第一个 }) },fail:err=>{ console.log(err) } }) } }, comfirm:function(e){ const db = wx.cloud.database()//打开数据库连接 let book = e.detail.value if(book.id==""){//id等于空是新增数据 this.add(db,book) //新增记录 }else{ this.update(db,book) //修改记录 } }, add: function (db, book) { db.collection("books").add({ data: { name: book.name, author: book.author, price: parseFloat(book.price) }, success: res => { wx.showToast({ title: '新增记录成功', }) wx.navigateTo({ url: '../index/index', }) }, fail: err => { wx.showToast({ title: '新增失败', }) } }) }, update: function (db, book) { db.collection("books").doc(book.id).update({ data: { name: book.name, author: book.author, price: parseFloat(book.price) }, success: res => { wx.showToast({ title: '修改记录成功', }) wx.navigateTo({ url: '../index/index', }) }, fail: err => { wx.showToast({ title: '修改失败', }) } }) } })
云开发后台数据,需要手动添加books集合:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- 从零开始开发微信小程序(四):微信小程序绑定系统账号并授权登录之后台端
- 教你前端如何一个人从零基础开发完整的小程序项目,包括后台可视化数据库。该项目实现了个人简历的增删改查以及展示和转发分享,以及收藏他人简历和查看,还有最近浏览过的简历
- 从零开始学微信小程序开发:9 与后台交互
- django后台开发微信小程序
- 微信小程序开发前后台数据互联系列一-刘欢-专题视频课程
- C#开发微信门户及应用(47) - 整合Web API、微信后台管理及前端微信小程序的应用方案
- 微信小程序开发模拟下拉菜单
- 微信小程序结合mock.js实现后台模拟及调试
- 建站集成软件包 XAMPP搭建后台系统与微信小程序开发
- phpcms v9开发的微信小程序后台管理插件(企业版)
- 微信小程序开发(一)——使用ssh(struts2+hibernate+spring)框架实现后台与微信前台进行通信
- 微信小程序 + mock.js 实现后台模拟及调试
- 构建快速开发web项目的php框架 完成楼盘微信小程序后台
- 微信小程序——mock.js模拟后台交互
- 微信小程序,腾讯云node环境后台koa2开发框架(本地调试、接口、静态文件服务、文件长传服务)
- 微信小程序--后台开发小结
- 微信小程序开发(request请求后台获取不到data)
- 微信公众号内容与微信后台开发程序不一致
- 微信公众号内容与微信后台开发程序不一致