功能:
1、需要多選復(fù)選框,并且可以上拉滾動;
2、需要通過名稱手寫字母排序的,并且可以上拉滾動;
常規(guī)的小程序自帶的原生picker無法滿足我們的要求,因此一些特殊效果需要我們自定義來實現(xiàn),廢話不多說,我們直接看效果:




index.wxml布局
<view class="container"> <view class='class bgFFF' bindtap='isDep'> <view class='class-text'> <text class='red'> </text> <text>開放部門</text> </view> <view class='class-choose'> <text class='color333 perItem' wx:if="{{checkValue.length>0}}"> <block wx:for="{{checkValue}}" wx:key="index"> {{item}} </block> </text> <text wx:else>默認全部</text> <image src='/images/right-icon.png' mode="widthFix"></image> </view> </view> <view class='class bgFFF' bindtap='isPer'> <view class='class-text'> <text class='red'> </text> <text>開放成員</text> </view> <view class='class-choose'> <text class='color333 perItem' wx:if="{{depValue.length>0}}"> <block wx:for="{{depValue}}" wx:key="index"> {{item}} </block> </text> <text wx:else>默認全部</text> <image src='/images/right-icon.png' mode="widthFix"></image> </view> </view></view><!-- 部門列表 --><view class='typeListBox' wx:if="{{isDep}}"> <view class='wrap'> <view class='nav'> <text class='active'>部門</text> <!-- <text class='{{navId==2?"active":""}}' data-id='2' bindtap='getNav'>人員</text> --> </view> <view class='checkbox-con'> <scroll-view scroll-y style="height: 700rpx;" scroll-top="{{scrollTop}}"> <checkbox-group bindchange="checkboxChange" class="checkbox-group"> <view wx:for="{{checkboxArr}}" wx:key="item.name"> <label class="{{item.checked?'checkbox checked':'checkbox'}}" bindtap='checkbox' data-index="{{index}}"> <checkbox value="{{item.name}}" checked="{{item.checked}}"/>{{item.name}} </label> </view> </checkbox-group> </scroll-view> </view> <view class='btn1'> <button class='bgFFF' bindtap='cancel'>取消</button> <button class='' bindtap='confirm'>確定</button> </view> </view></view><!-- 成員列表 --><view class='typeListBox' wx:if="{{isPer}}"> <view class='wrap'> <!-- 字母錨點 --> <view class='anchor'> <view bindtap="jumpTo" wx:for="{{words}}" wx:key="i" data-opt="{{item}}">{{item}}</view> </view> <view class='nav'> <text class='active'>人員</text> </view> <view class='checkbox-con'> <scroll-view scroll-y style="height: 700rpx;" scroll-with-animation='true' scroll-top="{{scrollTop}}" scroll-into-view="{{toView}}"> <view class='typeList'> <checkbox-group class="radio-group" bindchange="checkBoxPer"> <view wx:for="{{personnelArr}}" wx:key="index" wx:for-item="itemName" wx:for-index="itemNameInd"> <view class='typeList-item-title' id="{{itemName.name}}">{{itemName.name}}</view> <label class='typeList-item' data-itemnameind='{{itemNameInd}}' bindtap="checkPer" wx:for="{{itemName.a}}" wx:key="a" wx:for-item="item" data-index="{{index}}"> <checkbox value="{{item.name}}" checked="{{item.checked}}" color='#3eace2'/> <text>{{item.name}}</text> </label> </view> </checkbox-group> </view> </scroll-view> </view> <view class='btn1'> <button class='bgFFF' bindtap='cancel'>取消</button> <button class='' bindtap='confirmPer'>確定</button> </view> </view></view>
新聞熱點
疑難解答