微信小程序云开发实现增删改查功能

本文实例为大家分享了微信小程序云开发实现增删改查的具体代码,供大家参考,具体内容如下

首先按照微信小程序官方提示创建一个快速云开发小程序

大家可以点击此处下载源代码

实现效果如下:

在miniprogram->index的下修改下面三个文件

index.js如下:

Page({
 data: {
  id: '',//修改用来保存_id
  iSshow: true,
  inpVal: '',
  inp2Val: '',
  inp3Val: '',
  list: []
 },

 onLoad: function () {
  var that = this
  that.getUserMsg()//读取信息
 },
 //获取文本框内容
 getName(e) {
  this.setData({
   inpVal: e.detail.value
  })
 },

 getAge(e) {
  this.setData({
   inp2Val: e.detail.value
  })
 },
 getCreated(e) {
  this.setData({
   inp3Val: e.detail.value
  })
 },
 //获取信息
 getUserMsg() {
  var that = this
  const db = wx.cloud.database()
  db.collection('datalist').get({
   success: function (res) {
    console.log(res)
    that.setData({
     list: res.data
    })
   }
  })
 },
 //添加信息
 setUserMsg() {
  var that = this
  const db = wx.cloud.database()
   db.collection('datalist').add({
    data: {
     name: that.data.inpVal,
     age: that.data.inp2Val,
     created: that.data.inp3Val
    },
    success: function (res) {
     console.log(res)
     that.setData({
      inpVal: "",
      inp2Val: "",
      inp3Val:""
     })
     console.log(that.data.inpVal + '--' + that.data.inp2Val + '--' + that.data.inp2Val)
     that.getUserMsg()
    }
   })
 },
 //删除信息
 delUserMsg(e) {
  var that = this
  const db = wx.cloud.database()
  var id = e.currentTarget.dataset.id
  db.collection('datalist').doc(id).remove({
   success: function (res) {
    console.log(res)
    that.getUserMsg()
   }
  })
 },
 //修改回显
 changeMsg(e) {
  var that = this
  var id = e.currentTarget.dataset.id
  const db = wx.cloud.database()

  db.collection('datalist').doc(id).get({
   success: function (res) {
    that.setData({
     inpVal: res.data.name,
     inp2Val: res.data.age,
     inp3Val:res.data.created,
     show: false,
     id: res.data._id
    })
   }
  })

 },
 //更新提交
 updetMsg(e) {
  var that = this
  var id = e.currentTarget.dataset.id
  const db = wx.cloud.database()
  db.collection('datalist').doc(id).update({
   data: {
    name: that.data.inpVal,
    age: that.data.inp2Val,
    created:that.data.inp3Val
   },
   success: function (res) {
    that.getUserMsg()
    that.setData({
     inpVal: '',
     inp2Val: '',
     inp3Val:'',
     show: true
    })
   }
  })
 },
})

index.wxml如下:

<view class="container">
 <view class='box' style='background:#FFFFFF'>
  <label>姓名:</label>
  <input data-value='{{inpVal}}' bindinput='getName' value='{{inpVal}}'></input>
 </view>
 <view class='box' style='background:#FFFFFF;margin-top:1rpx;'>
  <label>年龄:</label>
  <input data-value='{{inpVal}}' bindinput='getAge' value='{{inp2Val}}'></input>
 </view>
  <view class='box' style='background:#FFFFFF;margin-top:10rpx;'>
 <label>手机号:</label>
  <input data-value='{{inpVal}}' bindinput='getCreated' value='{{inp3Val}}'></input>
 </view>
 <button wx:if='{{show}}' bindtap='setUserMsg'>提交</button>
 <button wx:if="{{!show}}" data-id="{{id}}" bindtap='updetMsg'>确认修改</button>
</view>

<view class='infoMsg'>
 <view>
  <label>姓名</label>
  <label>年龄</label>
  <label>手机号</label>
  <label>操作</label>
 </view>
 <view wx:for="{{list}}">
  <label>{{item.name}}</label>
  <label>{{item.age}}</label>
  <label>{{item.created}}</label>
  <label>
   <text data-id='{{item._id}}' bindtap='changeMsg'>修改</text>
  </label>
 </view>

</view>

index.wxss如下:

page {
 background: #f6f6f6;
 display: flex;
 flex-direction: column;
 justify-content: flex-start;
 font-size: 30rpx;
}
.box{
 width: 90%;
 display: flex;
 background: grey
}

button{
 width: 90%;
 height: 40px;
 line-height: 40px;
 margin-top: 20rpx;
 background:#ffffff;

}
.infoMsg{
 width: 90%;
 margin: auto;
 margin-top: 20rpx;
 border: 1rpx solid #e2e2e2;
 font-size: 28rpx;
}
.infoMsg view{
 display: flex;
 border-top: 1rpx solid #e2e2e2;
}
.infoMsg view>label{
 flex: 1;
 height: 80rpx;
 line-height: 80rpx;
 text-align: center;
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
}
.infoMsg view>label:not(:first-child){
 border-left: 1rpx solid #e2e2e2;
}
.infoMsg view>label text{
 margin-right: 10rpx;
 border: 1rpx solid #e2e2e2;
}

数据集合如下图:

大家可以点击此处下载源代码 ,有问题可以评论交流!

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

(0)

相关推荐

  • 解决微信小程序云开发中获取数据库的内容为空的方法

    问题描述: 在前端想获取数据库某集合中的数据时,返回的参数data始终为空数组,如下: 相关代码如下: const db = wx.cloud.database(); const activityInfo = db.collection('activityInfo'); Page({ ...省略不相干代码... onLoad(){ activityInfo.get().then((res)=>{ console.log(res) }) } ...省略不相干代码... }) 解决方案: 数据库新建

  • 微信小程序云开发(数据库)详解

    开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥. 目前提供三大基础能力支持: 1.云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码 2.数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库 3.存储:在小程序前端直接上传/下

  • 微信小程序云开发实现数据添加、查询和分页

    本文实例为大家分享了微信小程序云开发实现数据添加.查询和分页,供大家参考,具体内容如下 实现的效果 实现要点 WXML 不同类别数据的显示 通过 if-elif-else 实现,在wxml文件中通过 <block></block>渲染,因为它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性.也就是说可以通过属性来控制页面是否要渲染这部分的内容,可以减少页面渲染时间. 云开发数据的获取 先开通云开发功能 ,参考官方文档,然后在创建项目的时候勾选上 使用云开发模板(看个人吧,

  • 微信小程序云开发实现云数据库读写权限

    一.问题场景 在做图片点赞.查看量的时候,非管理员给非自己上传(创建)的图片点赞,更新数据失败,失败原因是没有修改数据权限 二.问题描述 云数据库中的读写权限是有严格规定的 非管理员非创建者,没办法写入数据(更新数据) 三.详细解决办法 使用云函数更新数据 刚开始还是不怎么了解云函数,只用自动生成的login 来获取openid,并不知道其他用法,看了好久才明白 1.在开发者工具上新建node.js云函数 2.上代码 这是云函数index.js 内容 // 云函数入口文件 const cloud

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

    小程序云开发出来之后,小程序开发人员也要慢慢的接触后端对数据的增删改查了.下面就给大家提供一个案例吧. 这里我把新增和修改放在了一个页面    显示页面index.wxml <view wx:if="{{books}}" class='container'> <view class='title'> <text>图书列表</text> </view> <view class='label'> <text>

  • 微信小程序云开发之使用云数据库

    在上一节我们介绍了下怎么使用云存储来存储我们需要的数据,接下来这节也是我们在实际开发比较重要的东西数据库,首先数据库当然是我们要显示在前端界面上的内容,如果要使用云存储+云数据库该如何操作呢,下面我来详细为大家介绍下具体流程 [步骤] 首先我们打开云开发然后点击数据库,自己在数据库这里新建一个集合(我的建的集合叫做videos),如下 tempFileURL是我们在云存储里面保存的数据,然后下面的链接就是我们之前所说的详情里面的下载地址如下所示 我们只需要将我们详情界面中的下载地址copy粘贴到

  • 微信小程序云开发实现增删改查功能

    本文实例为大家分享了微信小程序云开发实现增删改查的具体代码,供大家参考,具体内容如下 首先按照微信小程序官方提示创建一个快速云开发小程序 大家可以点击此处下载源代码 实现效果如下: 在miniprogram->index的下修改下面三个文件 index.js如下: Page({ data: { id: '',//修改用来保存_id iSshow: true, inpVal: '', inp2Val: '', inp3Val: '', list: [] }, onLoad: function ()

  • 微信小程序本地缓存数据增删改查实例详解

    微信小程序本地缓存数据增删改查实例详解 数据如: var user = { name: 'Lion', sex: 'guy' } CRUD: // 添加 wx.setStorageSync('user', user); // 查询 var developer = (wx.getStorageSync('user') || []); // 更改 developer.name = 'Lion01'; wx.setStorageSync('user', user); // 删除 wx.removeSt

  • 微信小程序云开发之新手环境配置

    本文实例为大家分享了微信小程序云开发环境配置的具体方法,供大家参考,具体内容如下 注意:小程序云开发需要使用注册的小程序appid,测试和游客进入是没有云开发的功能. 首先我们新建小程序项目,填写申请的appID如果没有需要注册一个,微信为我们提供了一个云开发快速启动的模板,这里我们勾选进去看看云开发为我们提供的案例. 首次进入控制台会报cloud init error (云初始化错误). 如果我们填写了在微信的左上角调试器旁边有一个云开发,在这里我们点击云开发 点击开通云开发 官网建议我们建两

  • 微信小程序云开发详细教程

    微信小程序云开发之初体验,供大家参考,具体内容如下 小程序云开发是微信最近推出的新的一项能力,它弱化了后端以及运维的概念,开发者无需搭建服务器,使用微信平台提供的api即可完成核心的业务开发. 目前提供三大基础能力支持: 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码 数据库:既可在小程序前端操作,也能在云函数中读写的 JSON 数据库,免费2G容量 存储:可在小程序前端上传/下载云端文件,在云开发控制台可视化管理,免费5G容量 上手体验 打开微信开发者工具,新建

  • 微信小程序云开发之数据库操作

    本文实例为大家分享了微信小程序云开发之数据库操作的具体代码,供大家参考,具体内容如下 新建集合 1.打开云开发控制台,数据库 2.添加集合users 添加代码 onAdd: function () { const db = wx.cloud.database() db.collection('users').add({ data: { count: 1 }, success: res => { // 在返回结果中会包含新创建的记录的 _id this.setData({ counterId: r

  • 微信小程序云开发如何使用云函数生成二维码

    本文实例为大家分享了微信小程序云开发使用云函数生成二维码的具体代码,供大家参考,具体内容如下 首先,需要给对应的云函数安装 request-promise 依赖.(不会给云函数安装依赖的盆友请移步 微信小程序中的云开发如何使用npm安装依赖) 生成二维码的云函数如下: // 云函数入口文件 const cloud = require('wx-server-sdk') const rp = require('request-promise') cloud.init() // 云函数入口函数 exp

  • 微信小程序云开发修改云数据库中的数据方法

    小程序代码中无法直接修改他人创建的数据记录 例如:数据库表中的_openid字段是自动生成的,哪个用户创建的记录这个openid就是用户的openid,云数据库的权限分配也是根据openid来进行的. 解决方案: 第一步:创建云函数,在函数中编写修改数据库的操作代码 // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command // 云

  • 我要点爆”微信小程序云开发之项目建立与我的页面功能实现

    开发环境搭建 使用自己的AppID新建小程序项目,后端服务选择小程序·云开发,点击新建,完成项目新建. 新建成功后跳转到开发者工具界面 新建后,微信端为我们提供了一个参考的模板程序,这里我们自己来创建各个所需的文件与代码,所以删除所有不需要的文件,删除cloudfunctions.miniprogram/images.miniprogram/pages文件下所有文件,同时也删除style文件和删除app.json中原始的页面配置. 此时编译下方控制台会报"VM8100:5 appJSON[&qu

  • 微信小程序 云开发模糊查询实现解析

    这篇文章主要介绍了微信小程序 云开发模糊查询实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 解释: db.RegExp 从基础库 2.3.2 开始(wx-server-sdk 从 0.0.23 开始),数据库支持正则表达式查询,开发者可以在查询语句中使用 JavaScript 原生正则对象或使用 db.RegExp 方法来构造正则对象然后进行字符串匹配.在查询条件中对一个字段进行正则匹配即要求该字段的值可以被给定的正则表达式匹配 事例:

随机推荐