uView中的radio组件自定义样式(实心圆点)

大家在开发uniapp时,应该都用过radio组件,也用过uview里的u-radio。在一般设计中都是实心圆点或者空心圆的选择状态,但是这里的radio是"对号"。在这里我把我做的样式分享一下,希望能够帮到大家。

在这里插入图片描述

1. HTML部分

在HTML中动态绑定class类

  <view class="label">
     <u-radio-group
       v-model="radioValue"
       wrap
       size="28"
       active-color="#B9895E"
       >
       <u-radio name="man" :class="{ 'pitchOn' : radioValue === 'man'}">男生</u-radio>
       <u-radio name="woman" :class="{ 'pitchOn' : radioValue === 'woman'}">女生</u-radio>
     </u-radio-group>
</view>
2. CSS部分

使用样式穿透将原本形状改变为圆形,然后再定义一个class类用来做选中的背景颜色。

::v-deep .u-radio__icon-wrap {
  background-color: $uni-bg-color !important;
}
::v-deep .u-radio__icon-wrap__icon {
  width: 100%;
  height: 100%;
  position: relative;
}
::v-deep .u-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
::v-deep .u-icon__icon::before {
  display: inline-block;
  content: "" !important;
  width: 16rpx;
  height: 16rpx;
  background-color: #d9d9d9;
  border: none;
  border-radius: 50%;
}

//  选中的背景颜色
::v-deep
  .pitchOn
  > .u-radio
  > .u-radio__icon-wrap
  > .u-radio__icon-wrap__icon
  > .u-icon
  > .u-icon__icon::before {
  background-color: #b9895e;
}
3. JS部分

在data中绑定当前选中的。

data() {
  return {
      radioValue : "woman", // 单选当前选中
    };
 },

通过以上步骤,就可以自定义uView单选框组件修改选中时的样式啦!

在uview的swiper组件,可以通过设置swiper-item组件的内容来展示自定义内容。例如,可以在swiper-item组件放置任意的组件或元素,例如图片、文字、按钮等等。 以下是一个示例代码,展示如何在uview的swiper组件展示自定义内容: ```html <template> <view class="u-swiper"> <u-swiper :autoplay="true" :interval="3000" :circular="true"> <u-swiper-item> <view class="swiper-item-content"> <image src="/static/images/banner1.jpg" mode="aspectFill" /> <text class="title">自定义内容1</text> </view> </u-swiper-item> <u-swiper-item> <view class="swiper-item-content"> <image src="/static/images/banner2.jpg" mode="aspectFill" /> <text class="title">自定义内容2</text> </view> </u-swiper-item> <u-swiper-item> <view class="swiper-item-content"> <image src="/static/images/banner3.jpg" mode="aspectFill" /> <text class="title">自定义内容3</text> </view> </u-swiper-item> </u-swiper> </view> </template> <style> .swiper-item-content { position: relative; } .title { position: absolute; bottom: 20rpx; left: 20rpx; color: #fff; font-size: 36rpx; font-weight: bold; } </style> ``` 在上述示例代码,我们通过在swiper-item组件放置一个view元素,然后在view元素放置一个image元素和一个text元素,来展示自定义内容。我们还通过样式设置使得text元素显示在图片的底部,达到更好的视觉效果。 需要注意的是,在实际开发,我们可以根据自己的需求灵活使用各种组件样式,来展示自己想要的自定义内容。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值