微信小程序组件 checkbox-group 和 radio-group checkbox和radio 的关系

效果图

 

 

1.wxml

<template name="ask">
  <radio-group class="mb-20">
    <label class="x-ask-label">
      <view class="x-question">
        <view>q</view>
        <view class="text">{{q}}</view>
        <view class="icon-ask-down"></view>
      </view>
      <view class="x-answer">
        <view>a</view>
        <view class="text">{{a}}</view>
      </view>
      <checkbox hidden="{{false}}" />
    </label>
  </radio-group>
</template>


<!-- checkbox标签,可以勾选上再取消勾选,radio不可以 -->

<!-- checkbox在radio-group下会变成单选,在checkbox-group下才是多选 -->

<!-- radio在checkbox-group下也会变成多选,在radio-group下才会是单选 -->

<!-- radio和checkbox是否单选和多选取决于是在checkbox-group和radio-group -->

<!-- 你可以试试,不同的表现差异 -->
<!-- 用这个差异,可以做很多的,这个收缩展开的效果 -->

<!-- <template name="ask">
  <radio-group class="mb-20">
    <label class="x-ask-label">
      <view class="x-question">
        <view>q</view>
        <view class="text">{{q}}</view>
        <view class="icon-ask-down"></view>
      </view>
      <view class="x-answer">
        <view>a</view>
        <view class="text">{{a}}</view>
      </view>
      <radio hidden="{{false}}" />
    </label>
  </radio-group>
</template> -->



<template is="ask" data="{{q:'问题1',a:'问题1回答'}}" />
<template is="ask" data="{{q:'问题2',a:'问题2回答'}}" />
<template is="ask" data="{{q:'问题3',a:'问题3回答'}}" />
<template is="ask" data="{{q:'问题4',a:'问题4回答'}}" />

2.wxss

.x-question,
.x-answer {
  display: flex;
}

.text {
  margin-left: 20rpx;
}

.icon-ask-down {
  background: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.13 4.463L6.686 8.908a.857.857 0 0 1-1.213 0L1.03 4.463A.857.857 0 0 1 2.24 3.251L6.08 7.09l3.837-3.838a.857.857 0 0 1 1.212 1.212z' fill='%23A59D8F' fill-rule='evenodd'/%3E%3C/svg%3E") no-repeat;
  width: 24rpx;
  height: 24rpx;
  margin-left: 20rpx;
}

.mb-20 {
  margin-bottom: 40rpx;
}

.x-ask-label[aria-checked='true'] .x-answer {
  display: flex;
}

.x-ask-label[aria-checked='true'] .icon-ask-down {
  transform: rotateZ(180deg);
}

.x-ask-label[aria-checked='false'] .x-answer {
  display: none;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值