微信小程序云开发从云数据库获取集合('cat')里的数据并把其中两个字段'catname'和'catkind'进行拼接成为多选选项,用户选择并且点击下单按钮添加进云数据库集合'order',这样一个流程的完整代码示例
时间: 2023-06-15 21:05:11 浏览: 164
好的,这里给您提供一个完整的微信小程序云开发从云数据库获取集合数据并添加订单的完整代码示例。请注意,为了简化示例,我们假设您已经创建了一个名为 'cat' 的云数据库集合,并且已经定义了 'catname' 和 'catkind' 两个字段。
1. 在小程序开发中创建云开发应用并开通云开发数据库功能。
2. 在小程序中创建一个页面用于显示猫咪列表及下单功能。
3. 在页面对应的 js 文件中添加以下代码:
```javascript
const db = wx.cloud.database(); // 初始化数据库
const catCollection = db.collection('cat'); // 获取集合 'cat'
Page({
data: {
catList: [], // 猫咪列表
orderList: [], // 订单列表
selectedCat: [], // 选中的猫咪
},
onLoad: function () {
this.getCatList(); // 获取猫咪列表
},
// 获取猫咪列表
getCatList: function () {
catCollection.get().then(res => {
this.setData({
catList: res.data
})
}).catch(err => {
console.error(err);
});
},
// 选中猫咪
selectCat: function (e) {
const index = e.currentTarget.dataset.index;
const cat = this.data.catList[index];
const selectedCat = this.data.selectedCat;
if (selectedCat.indexOf(cat) === -1) {
this.setData({
selectedCat: selectedCat.concat(cat)
})
} else {
selectedCat.splice(selectedCat.indexOf(cat), 1)
this.setData({
selectedCat: selectedCat
})
}
},
// 下单
submitOrder: function () {
const orderList = this.data.orderList;
const selectedCat = this.data.selectedCat;
// 拼接猫咪名称和品种
const selectedCatNames = selectedCat.map(cat => {
return cat.catname + ' - ' + cat.catkind;
})
// 添加订单
const order = {
cats: selectedCatNames.join(','),
createTime: new Date(),
}
catCollection.add({
data: order
}).then(res => {
orderList.push(order);
this.setData({
orderList: orderList,
selectedCat: []
})
wx.showToast({
title: '下单成功',
})
}).catch(err => {
console.error(err);
wx.showToast({
title: '下单失败',
icon: 'none'
})
})
}
})
```
以上就是一个简单的从云数据库获取集合数据并添加订单的完整代码示例。您可以在自己的小程序中尝试使用此代码,也可以根据自己的需求进行修改和定制。
阅读全文