二级级联效果
三级联动效果
二级联动和三级联动的代码结构都是一样,就看要怎么设置。接下来上三级联动的代码。
wxml
<view class="picker-box"> <view class='skill-picker'> <picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange" value="{{multiIndex}}" range="{{multiArray}}"> <view class="skill-title"> {{multiArray[0][multiIndex[0]]}}, {{multiArray[1][multiIndex[1]]}}, {{multiArray[2][multiIndex[2]]}} </view> <image class='drop-down' src='/images/drop_down.png' mode='aspectFit'></image> </picker> </view> </view>
123456789101112 wxss.picker-box { margin-top: 0rpx; width: 100%; position: fixed; top: 0; } .skill-picker { height: 80rpx; background-color: rgba(0, 121, 132, 0.8); box-shadow: 0rpx 5rpx 16rpx rgba(0, 0, 0, 0.05); } .skill-title { line-height: 80rpx; text-align: center; vertical-align: middle; color: white; font-size: 36rpx; font-weight: bold; } .drop-down { position: fixed; top: 0; right: 0; margin-top: 18rpx; margin-right: 48rpx; display: inline-block; width: 48rpx; height: 48rpx; vertical-align: middle; }
123456789101112131415161718192021222324252627282930313233 jsPage({ data: { index: 0, multiArray: [['无脊柱动物', '脊柱动物'], ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物'], ['猪肉绦虫', '吸血虫']], multiIndex: [0, 0, 0] }, bindMultiPickerChange: function (e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({ multiIndex: e.detail.value }) }, bindMultiPickerColumnChange: function (e) { console.log('修改的列为', e.detail.column, ',值为', e.detail.value); // 知道修改的列以后,就可以通过修改multiIndex中对应元素的值,然后再修改multiArray } })
123456789101112131415161718 从 三级联动 修改成 二级联动,只需要修改multiArray就可以了。会自动根据multiArray中第一个下标的大小来自动进行调整。如multiArray修改成multiArray: [['无脊柱动物', '脊柱动物'], ['扁性动物', '线形动物', '环节动物']],