这是本人已写的部分
逻辑是点开page时 on lunch将数据导进
点击修改page按钮时 则执行了更新和导进两步
出但是现了一个问题 就是真机测试时 本人测试没有问题 但其他用户点开此页面时会出现bug 如下:页面点开的瞬间正常 但之后变成只剩下一个button 目前猜测应该时执行导进时数据库中没有主键为其他用户的openid所导致 那么该如何修改呢 修改逻辑?或是自动创建其他用户数据? 该如何进行修改呢? 感谢指导 给每位回答的师傅点赞 如有没表达清楚的地方请见谅 也可提供真机测试二维码
js 数据库 wxml部分code 目前效果如下如下
<view class='container'>
<view wx:for='{{datalist}}'>
<view class='group_header'>基本信息</view>
<view class='gruop_body'>
<view class='group_body_'>
<view class='group_body_item'>姓名</view>
<input class='group_body_input' placeholder='{{item.name}}' bindinput='addName'></input>
</view>
<view class='group_body_'>
<view class='group_body_item'>性别</view>
<input class='group_body_input' placeholder='{{item.sex}}' bindinput='addSex'></input>
</view>
<view class='group_body_'>
<view class='group_body_item'>班级</view>
<input class='group_body_input' placeholder='{{item.banji}}' bindinput='addBanji'></input>
</view>
<view class='group_body_'>
<view class='group_body_item'>学号</view>
<input class='group_body_input' placeholder='{{item.index}}' bindinput='addIndex'></input>
</view>
<view class='group_body_'>
<view class='group_body_item'>联系方式</view>
<input class='group_body_input' placeholder='{{item.phone}}' bindinput='addPhone'></input>
</view>
</view>
<view class='apply_title'>
<view class='group_header'>个性签名</view>
<textarea maxlength='50' placeholder='{{item.text}}' bindinput='addText'></textarea>
</view>
</view>
</view>
<view class='submit'>
<button class="btn-block btn-orange" bindtap="upData">修改</button>
</view>
/usereditor/usereditor.js
const DB = wx.cloud.database().collection('user')
var app=getApp()
let name=''
let sex=''
let banji=''
let index=''
let phone=''
let text=''
Page({
/**
* 页面的初始数据
*/
//未填写信息时的默认placeholder
data: {
datalist:[{
name:'请输入姓名',
sex:'请输入性别',
banji:'请输入班级',
index:'请输入学号',
phone:'请输入联系方式',
text:'发表你今天的心情吧!'
}]
},
//input事件获取
addName(event) {
name = event.detail.value
},
addSex(event) {
sex = event.detail.value
},
addBanji(event) {
banji = event.detail.value
},
addIndex(event) {
index = event.detail.value
},
addPhone(event) {
phone = event.detail.value
},
addText(event) {
text = event.detail.value
},
//获取服务端数据
getData() {
let that = this//
DB.where({
_openid: app.globalData.openid //openid
})
.get({
success(res) {
console.log('请求成功 ', res)
that.setData({//
datalist: res.data
})
},
fail(res) {
console.log('请求成功 ', res)
}
})
},
//修改用户数据
upData(){
DB.where({
_openid: app.globalData.openid
})
.update({
data: {
name: name,
sex: sex,
banji: banji,
index: index,
phone: phone,
text: text
}
})
.then(res =>{
console.log('更新成功',res)
this.getData();
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getData()
},
})
修改数据库权限试试?