微信小程序云开发之模拟后台增删改查


Posted in Javascript onMay 16, 2019

小程序云开发出来之后,小程序开发人员也要慢慢的接触后端对数据的增删改查了。下面就给大家提供一个案例吧。

微信小程序云开发之模拟后台增删改查

这里我把新增和修改放在了一个页面

  微信小程序云开发之模拟后台增删改查  微信小程序云开发之模拟后台增删改查

显示页面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集合:

微信小程序云开发之模拟后台增删改查

wechat

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery蒙版控件实现代码
Dec 08 Javascript
基于jQuery的前端数据通用验证库
Aug 08 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
Nov 28 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
Apr 27 Javascript
微信小程序 Video API实例详解
Oct 02 Javascript
JavaScript实现星星等级评价功能
Mar 22 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
May 25 Javascript
javaScript日期工具类DateUtils详解
Dec 08 Javascript
微信小程序之圆形进度条实现思路
Feb 22 Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 Javascript
八种Vue组件间通讯方式合集(推荐)
Aug 18 Javascript
小程序实现可拖动的悬浮按钮
Sep 07 Javascript
微信小程序云开发之新手环境配置
May 16 #Javascript
vue项目中使用scss的方法步骤
May 16 #Javascript
微信小程序云开发使用方法新手初体验
May 16 #Javascript
angular多语言配置详解
May 16 #Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 #Javascript
Django模板继承 extend标签实例代码详解
May 16 #Javascript
vue视图不更新情况详解
May 16 #Javascript
You might like
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
php 伪造ip以及url来路信息方法汇总
2014/11/25 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
JavaScript使用prototype属性实现继承操作示例
2020/05/22 Javascript
vue 虚拟DOM的原理
2020/10/03 Javascript
[13:40]TI3青蛙君全程回顾 DOTA2我们为梦想再战
2013/09/13 DOTA
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
化学学院毕业生自荐信范文
2013/12/17 职场文书
机械制造专业个人的自我评价
2013/12/28 职场文书
敬老月活动总结
2014/08/28 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
2016年寒假社会实践活动总结
2015/03/27 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript