1、数据查询
查询后取最后一个值进行绑定
const db = wx.cloud.database();
db.collection('formData').where({
_openid: "ow_9a5PpvvxJeOk5-ef9CO3pDm3M"
}).get().then(res => {//formData是数据库里面集合的名称
that.setData({
formData: res.data
});
that.setData({
form: res.data[res.data.length-1] //取最后一个赋值
});
}).catch(err => {
console.log(err); //如果更新数据失败则输出失败信息
})
2、页面渲染绑定
<view class="page-body">
<view class="btn-area" id="buttonContainer">
//data-origin="form.name"表示在data中所要修改的对象位置
<input bindinput="bindData" data-origin="form.name" value="{{form.name}}" placeholder="请输入姓名" ></input>
<input bindinput="bindData" data-origin="form.content" value="{{form.content}}" placeholder="请输入内容" ></input>
<input type="number" bindinput="getNum" value="{{form.num}}" placeholder="请输入数字"></input>
//当然也可以绑定数组formData[0]
<input bindinput="bindData" data-origin="formData[0].name" placeholder="请输入姓名" value="{{formData[0].name}}"></input>
<input bindinput="bindData" data-origin="formData[0].content" placeholder="请输入内容" value="{{formData[0].content}}"></input>
<input type="bindData" data-origin="formData[0].num" value="{{formData[0].num}}" placeholder="请输入数字"></input>
//保存按钮
<button type="default" bindtap="addFormData">添加数据</button>
</view>
</view>
3、数据后端存储
index.js
//index.js
const app = getApp()
Page({
data: {
formData:[],
form:{
content: "",
name: "",
num: null
},
},
//在原始的取值方式上进行调整,对于不需要做数据处理的只需要写一个函数即可
bindData: function (e) {
const obj = {};
const setOBJ = e.currentTarget.dataset.origin;
obj[setOBJ] = e.detail.value;
this.setData(obj)
},
//原始的取值方式
getNum: function (e) {
this.setData({
'form.num': e.detail.value //如果是对象的话注意加上引号
})
},
//存储到数据库中
addFormData:function(){
const db = wx.cloud.database();
db.collection('formData').add({
data: this.data.form, // data 字段表示需新增的 JSON 数据
success(res){
console.log("添加成功",res)
},
fail(res){
console.log("添加错误",res)
}
})
},
})