小程序: 自定义 -- 单选radio、多选checkbox的样式

1. 单选 radio

(1) wxml

  <view>
    <!-- 单项选择器radio-group: 内部由多个<radio/>组成 -->
    <radio-group bindchange="radioChange" >
      <view wx:for="{{radioData}}" wx:key="index">
        <label>
          <radio value="{{index}}">{{item.name}}</radio>
        </label>
      </view>
    </radio-group>
  </view>

(2) wxss

/* 未选中  样式*/
radio .wx-radio-input{
   width: 30rpx;
   height: 30rpx;
   border-radius: 50%;
}

/* 选中  样式(无边框、紫色背景 -- 可自定义) */
radio .wx-radio-input.wx-radio-input-checked{
   border: none;
   background: purple!important;
}

/* 选中时 对勾样式 (白色对勾 -- 可自定义) */
radio .wx-radio-input.wx-radio-input-checked::before{
   width: 30rpx;   /* 选中时对勾大小,不要超过背景的尺寸 */
   height: 30rpx;   /* 选中时对勾大小,不要超过背景的尺寸 */
   line-height: 30rpx;
   border-radius: 50%;
   text-align: center;
   font-size: 20rpx; /* 对勾大小 */
   color: #fff; /* 对勾颜色 */
   background: transparent;
   transform: translate(-50%, -50%) scale(1);
   -webkit-transform: translate(-50%, -50%) scale(1);
}

(3) js

Page({

  /**
   * 页面的初始数据
   */
  data: {
    radioData: [
      {name: ‘苹果‘ },
      {name: ‘香蕉‘ },
      {name: ‘猕猴桃‘},
    ]
  },

  radioChange: (res) => {
    console.log(res)
  }
})

效果呈现:

2. 多选 checkbox -- 只需要将上面代码中所有的 radio  替换成  checkbox 即可

(1) wxml

<view>
    <!-- 多项选择器checkbox-group: 内部由多个checkbox组成 -->
    <checkbox-group bindchange="checkboxChange" >
      <view wx:for="{{checkboxData}}" wx:key="index">
        <label>
          <checkbox value="{{index}}">{{item.name}}</checkbox>
        </label>
      </view>
    </checkbox-group>
</view>

(2) wxss

/* 未选中  样式*/
checkbox .wx-checkbox-input{
   width: 30rpx;
   height: 30rpx;
   border-radius: 50%;
}

/* 选中  样式(无边框、紫色背景 -- 可自定义) */
checkbox   .wx-checkbox-input.wx-checkbox-input-checked{
   border: none;
   background: purple!important;
}

/* 选中时 对勾样式 (白色对勾 -- 可自定义) */
checkbox   .wx-checkbox-input.wx-checkbox-input-checked::before{
   width: 30rpx;   /* 选中时对勾大小,不要超过背景的尺寸 */
   height: 30rpx;   /* 选中时对勾大小,不要超过背景的尺寸 */
   line-height: 30rpx;
   border-radius: 50%;
   text-align: center;
   font-size: 20rpx; /* 对勾大小 */
   color: #fff; /* 对勾颜色 */
   background: transparent;
   transform: translate(-50%, -50%) scale(1);
   -webkit-transform: translate(-50%, -50%) scale(1);
}

(3) js

Page({

  /**
   * 页面的初始数据
   */
  data: {
    checkboxData: [
      {name: ‘苹果‘ },
      {name: ‘香蕉‘ },
      {name: ‘猕猴桃‘},
    ]
  },

  checkboxChange: (res) => {
    console.log(res)
  }
})

原文地址:https://www.cnblogs.com/ljr210/p/9929749.html

时间: 2024-11-05 20:38:06

小程序: 自定义 -- 单选radio、多选checkbox的样式的相关文章

微信小程序自定义弹窗wcPop插件|仿微信弹窗样式

微信小程序自定义组件弹窗wcPop|小程序消息提示框|toast自定义模板弹窗 平时在开发小程序的时候,弹窗应用场景还是蛮广泛的,但是微信官方提供的弹窗比较有局限性,不能自定义修改.这个时候首先想到的是自定义组件化开发,就是把弹出框封装成一个组件,然后多处调用. 解决了小程序开发自定义弹窗出现后,遮罩层下的页面仍可以滚动的方法: 给遮罩层的最外层view中加入catchtouchmove="preventTouchMove" 即可解决该遮罩层点透问题. 根据需要还可以自定义多个按钮及事

初识安卓小程序(开关灯——单选多选按钮控制)

如图: 点击单选按钮"开灯",多选按钮就会显示"关灯"且方块里有对勾:反之,点多选按钮,单选按钮也自动改变. 首先,先创建一个安卓项目(我的版本是4.4.2的),名字为"bulb",把两张图片:开灯与关灯状态的图片放入"drawable-"随意一个文件夹下 然后在res文件夹下找到layout文件夹,找到activity_main.xml或fragment_main.xml,在里面输入或拖拽按钮 <RelativeLay

小程序自定义多选按钮 给后台传值方法

小程序自定义多选按钮 1.html部分 <checkbox-group bindchange="checkboxChange" class = "flex"> <label class="checkbox {{item.checked?'active':''}}" wx:for="{{items}}" bindtap="addclass" data-index="{{index}

小程序“自定义关键词”功能的常见问答

我们知道小程序可以通过线下扫码.公众号.好友分享.长按小程序码.搜索小程序名称来找到,现在又多了一个新方式——小程序后台新增自定义关键词功能:已发布小程序的开发者,可提交最多10个与小程序业务相关的关键词,帮助你的小程序更好地被发现. (登陆小程序后台——点击左侧“推广”添加关键词) 自定义关键词搜索策略将于6月9日生效.届时,用户可以通过搜索关键词,找到相关的小程序.小程序的关键词每个月可以修改三次. 开发者还可在后台看到关键词推广效果. 我们希望通过“自定义关键词”功能,帮助用户在微信内更便

Android开发技巧——自定义单选或多选的ListView

这篇其实应该是属于写自定义单选或多选的ListView的基础教程,无奈目前许多人对此的实现大多都绕了远路,反而使得这正规的写法倒显得有些技巧性了. 本文原创,转载请注明在CSDN上的出处: http://blog.csdn.net/maosidiaoxian/article/details/45867927 Android中,ListView可以设置choiceMode,可见Android对ListView的单选或多选是有进行封装的,然而我看到的许多单选或多选的ListView,包括我以前写的例

微信小程序-自定义底部导航

代码地址如下:http://www.demodashi.com/demo/14258.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html 1.基本需求. 实现用户自定义底部导航 2.案例目录结构 二.程序实现具体步骤 1.自定义nav.wxml代码 <template name="nav"> <view class=&quo

值得记录的(五)- 微信小程序自定义 tabbar

一定的需求情况下,无法使用小程序原生的 tabbar 的时候,需要自行实现一个和 tabbar 功能一模一样的自制组件. 查阅了海量的博客和文档之后,亲自踩坑.总结了三种在不使用微信小程序原生 tabbar的情况下自制 tabbar 的方法.并说说这几种方法各自的特色. 类 navigator 跳转方式 类 navigator 跳转方式是我自己起的名称,因为它的实现思路就是这个样子的.期初参考 微信小程序自定义tabBar组件开发 这篇博文的思路.进行了这种方式的尝试,并为后续提供了解决思路.在

再谈小程序自定义底部导航

小程序自定义tabBar再探索 前言 最近有很多微信开发者朋友在QQ上加我好友,忽然意识到大家对微信自定义底部导航栏需求还是挺大的,故而再次整理下底部导航栏组件开发思路.和之前的文章还是有些区别,并且底部导航栏组件增加新的特性以及一些优化开发体验的骚操作. 技术选型 与之前不同,现在我们有两种方法实现自定义底部导航栏,因为小程序在2.5.0开始支持自定义底部导航栏了戳此处看文档,所以我们现在的可选方案为: 通过HideTabBar接口hack底部导航栏 通过小程序支持配置实现底部导航栏 下面根据

小程序自定义单页面、全局导航栏

摘要: 小程序开发技巧. 作者:小白 原文:小程序自定义单页面.全局导航栏 Fundebug经授权转载,版权归原作者所有. 需求 产品说小程序返回到首页不太方便,想添加返回首页按钮,UI说导航栏能不能设置背景图片,因为那样设计挺好看的. 需求分析并制定方案 这产品和UI都提需求了,咱也不能反驳哈,所以开始调研,分析可行性方案:1.可以添加悬浮按钮.2.自定义导航栏. 添加悬浮按钮,是看起来是比较简单哈,但是感觉不太优雅,会占据页面的空间,体验也不太好.所以想了下第二种方案,自定义导航栏既可以实现

微信小程序自定义导航栏(wx_custom_navigation_bar) 自定义返回键、首页键,动态设置标题,响应式组件

微信小程序自定义导航栏 navigation bar 返回键 首页 github: https://github.com/chen-yt/wx_custom_navigation_bar https://github.com/Superman2113/wx_custom_navigation_bar 代码 navbar组件 navbar.wxml <view class="navbar" style="{{'height: ' + navigationBarHeight