拿微信小程序做,求解答,手把手教
实现一个输入框和一个提交按钮。点击提交按钮时,如果云数据库中没有数据,则将当前输入框内容上传。如果云数据库中有数据,则在界面中显示”不要重复输入“
注意,本题目可以不使用云函数完成数据的上传功能。
提示:在判断能否上传时,你需要先读取数据库内容,再向数据库上传。实际上要做到这样的连续行为,需要在完成第一个行为的success回调函数中执行第二个行为。若不这样操作,则不能保证执行的先后顺序,会产生意外的结果。
拿微信小程序做,求解答,手把手教
实现一个输入框和一个提交按钮。点击提交按钮时,如果云数据库中没有数据,则将当前输入框内容上传。如果云数据库中有数据,则在界面中显示”不要重复输入“
注意,本题目可以不使用云函数完成数据的上传功能。
提示:在判断能否上传时,你需要先读取数据库内容,再向数据库上传。实际上要做到这样的连续行为,需要在完成第一个行为的success回调函数中执行第二个行为。若不这样操作,则不能保证执行的先后顺序,会产生意外的结果。
env: 'as-7g1dqbrma69ca4c1', 替换为你自己的资源
// app.js
App({
onLaunch: function () {
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力');
} else {
wx.cloud.init({
// env 参数说明:
// env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
// 如不填则使用默认环境(第一个创建的环境)
env: 'as-7g1dqbrma69ca4c1',
traceUser: true,
});
}
this.globalData = {};
}
});
// pages/test/test.js
Page({
/**
* 页面的初始数据
*/
data: {
desc: null,
hidden: true,
},
onDescInput(e) {
this.setData({
desc: e.detail.value
})
},
onUpload() {
const db = wx.cloud.database()
db.collection('todo').where({
desc: this.data.desc
})
.get()
.then(res => {
console.log(res)
if (res.data.length > 0) {
this.setData({
hidden: false
})
} else {
db.collection('todo').add({
data: {
desc: this.data.desc
}
})
.then(() => this.setData({
hidden: true
}))
.catch(console.log)
}
})
.catch(console.log)
},
})
<!--pages/test/test.wxml-->
<view>
<input class="input" bindinput="onDescInput" value="{{desc}}" placeholder="请输入" />
<view class="view">{{hidden?'':'已存在'}}</view>
<button class="button" bindtap="onUpload">上传</button>
</view>
.input{
border: green 1px solid;
}
.view{
background-color: grey;
color: red;
margin-top: 1rem;
}
.button{
background-color: green;
margin-bottom: 1rem;
}