微信小程序checkbox多选

效果图

html 复制代码
<view class="block">
    <view class="header">
        <view class="header-left">
            <text class="pu-title">数据</text>
            <text class="pu-tip">至少选择一个指标</text>
        </view>
        <image bind:tap="onVisibleChange" class="close" src="/images/data/close.png" />
    </view>
    <t-checkbox-group value="{{checkAllValues}}" bind:change="onChange">
        <t-checkbox label="多选" icon="rectangle" checkAll />
        <view  class="popup-content">
            <view wx:for="{{popupList}}" wx:key="index" class="pell-box">
                <t-checkbox
                    class="p-cell {{_.contain(checkAllValues, item.value) ? 'activeCell' : checkAllValues.indexOf(item.value)}}"
                    value="{{item.value}}"
                    icon="none"
                >
                    <view style="{{_.contain(checkAllValues, item.value) ? 'color: #FA541C' : 'color: #333333'}}">
                        {{item.name}}
                    </view>
                </t-checkbox>
            </view>
        </view>
    </t-checkbox-group>
    <view class="handleConfirm" bindtap="handleConfirm">确定</view>
  </view>

data里定义

js 复制代码
data: {
popupList: [
    { name: '当前班组', value: '当前班组', check: false},
    { name: '今天', value: '今天', check: false},
    { name: '本周', value: '本周', check: false},
    { name: '本月', value: '本月', check: false},
    { name: '自定义时间', value: '自定义时间', check: false},
  ],
  checkAllValues: [],
}
onChange(e) {
    console.log('checkbox', e.detail.value);
    this.setData({ checkAllValues: e.detail.value });
  },
css 复制代码
.popup-content {
    display: flex;
    flex-wrap: wrap;
    padding: 0 30rpx 30rpx 30rpx;
}
.pell-box {
    margin-right: 38rpx;
    margin-bottom: 30rpx;
}
.p-cell {
    width: 201rpx;
    height: 62rpx;
    border-radius: 6rpx;
    border: 1rpx solid #333333;
    box-sizing: border-box;
    font-size: 28rpx;
    font-family: PingFangSC, PingFang SC;
    padding: 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pell-box:nth-child(3n) {
    margin-right: 0;
}
.close {
    width: 31rpx;
    height: 30rpx;
}
.block {
    width: 100vw;
    min-height: 340px;
    background: #fff;
    border-top-left-radius: 16rpx;
    border-top-right-radius: 16rpx;
}
.header {
    display: flex;
    height: 100rpx;
    padding: 30rpx 30rpx 0 30rpx;
    justify-content: space-between;
}
.header-left {
    display: flex;
    flex-direction: column;
}
.pu-title {
    font-size: 34rpx;
    font-family: PingFangSC, PingFang SC;
    font-weight: bold;
    color: #222222;
}
.pu-tip {
    font-size: 28rpx;
    font-family: PingFangSC, PingFang SC;
    font-weight: 500;
    color: #666666;
}
.handleConfirm {
    width: 690rpx;
    height: 80rpx;
    background: #FF6634;
    border-radius: 10rpx;
    font-size: 36rpx;
    font-family: PingFangSC, PingFang SC;
    font-weight: 500;
    color: #FFFFFF;
    line-height: 80rpx;
    text-align: center;
    margin: 0 auto;
}
.activeCell {
    background: #FFF8F5;
    border-radius: 6rpx;
    border: 1rpx solid #FA541C;
    box-sizing: border-box;
    color: rgba(250, 84, 28, 1)!important;
}
.t-checkbox__title, .t-checkbox__title--checked {
    color: rgba(250, 84, 28, 1)!important;
}
相关推荐
郭wes代码4 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
.生产的驴9 小时前
SpringBoot 对接第三方登录 手机号登录 手机号验证 微信小程序登录 结合Redis SaToken
java·spring boot·redis·后端·缓存·微信小程序·maven
汤姆yu14 小时前
基于微信小程序的乡村旅游系统
微信小程序·旅游·乡村旅游
计算机徐师兄14 小时前
基于TP5框架的家具购物小程序的设计与实现【附源码、文档】
小程序·php·家具购物小程序·家具购物微信小程序·家具购物
曲辒净15 小时前
微信小程序实现二维码海报保存分享功能
微信小程序·小程序
朽木成才16 小时前
小程序快速实现大模型聊天机器人
小程序·机器人
peachSoda716 小时前
随手记:小程序使用uni.createVideoContext视频无法触发播放
小程序
何极光17 小时前
uniapp小程序样式穿透
前端·小程序·uni-app
小墨&晓末17 小时前
【PythonGui实战】自动摇号小程序
python·算法·小程序·系统安全
oil欧哟1 天前
🤔认真投入一个月做的小程序,能做成什么样子?有人用吗?
前端·vue.js·微信小程序