微信小程序使用二级选择器实现不同的数据库集合选择代码实现
时间: 2023-05-29 10:04:50 浏览: 111
微信小程序实现多选功能
以下是一个简单的微信小程序代码示例,使用二级选择器实现不同的数据库集合选择:
1. 在 wxml 文件中添加二级选择器组件:
```
<view>请选择数据库集合:</view>
<picker mode="multiSelector" bindchange="bindMultiPickerChange" value="{{multiIndex}}" range="{{multiArray}}">
<view class="picker">
{{multiArray[0][multiIndex[0]]}} - {{multiArray[1][multiIndex[1]]}}
</view>
</picker>
```
2. 在 js 文件中定义二级选择器的数组和索引:
```
Page({
data: {
multiArray: [['集合1', '集合2'], ['子集合1', '子集合2', '子集合3']],
multiIndex: [0, 0],
collection: '集合1',
subcollection: '子集合1'
},
...
})
```
3. 在 js 文件中添加二级选择器的事件处理函数:
```
Page({
...
bindMultiPickerChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
multiIndex: e.detail.value,
collection: this.data.multiArray[0][e.detail.value[0]],
subcollection: this.data.multiArray[1][e.detail.value[1]]
})
// 在这里调用相应的数据库操作函数,使用选择的集合和子集合
},
})
```
4. 在数据库操作函数中根据选择的集合和子集合使用相应的数据库集合:
```
const db = wx.cloud.database()
const collection1 = db.collection('集合1')
const collection2 = db.collection('集合2')
...
if (this.data.collection === '集合1') {
if (this.data.subcollection === '子集合1') {
// 使用集合1的子集合1进行操作
collection1.where({...}).get().then(res => {...})
} else if (this.data.subcollection === '子集合2') {
// 使用集合1的子集合2进行操作
collection1.where({...}).get().then(res => {...})
} else if (this.data.subcollection === '子集合3') {
// 使用集合1的子集合3进行操作
collection1.where({...}).get().then(res => {...})
}
} else if (this.data.collection === '集合2') {
// 使用集合2进行操作
collection2.where({...}).get().then(res => {...})
}
...
```
阅读全文