详解微信小程序Radio选中样式切换


Posted in Javascript onJuly 06, 2017

详解微信小程序Radio选中样式切换

本篇文章主要讲解在微信小程序中如何根据Radio选中来切换样式。效果如下:

详解微信小程序Radio选中样式切换

原理主要是通过判断一个radio-group中哪个被选中,就让它加上一个“active”的样式。

代码如下:

<!--index.wxml--> 
<view class="container"> 
 <radio-group bindchange="radioCheckedChange"> 
  <view class="flex_box"> 
   <view class="flex_item"> 
    <label class="{{radioCheckVal==0?'active':''}}">人气 
     <radio value="0"  hidden="true"></radio> 
    </label> 
   </view> 
   <view class="flex_item"> 
    <label class="{{radioCheckVal==1?'active':''}}"> 销量 
     <radio value="1" hidden="true"></radio> 
    </label> 
   </view> 
   <view class="flex_item"> 
    <label class="{{radioCheckVal==2?'active':''}}"> 价格↑ 
     <radio value="2" hidden="true"></radio> 
    </label> 
   </view> 
  </view> 
 </radio-group> 
</view>

index.wxml代码中可以看到,首先隐藏radio的原始样式,利用lable点击来触发radioCheckedChange事件监听函数。

/**index.wxss**/ 
radio-group{ 
 width: 100%; 
} 
.flex_box{ 
 display: flex; 
 width: 100%; 
 background: #eee; 
} 
.flex_item{ 
 flex: 1; 
 text-align: center; 
} 
.flex_item label{ 
 padding: 10px 0; 
 display: inline-block; 
 width: 50%; 
} 
.flex_item label.active{ 
 color: red; 
 border-bottom: 2px solid red; 
  
}

index.wxss中,使用flex布局让它们平分,并定义“active”样式。

//index.js 
//获取应用实例 
var app = getApp() 
Page({ 
 data: { 
  radioCheckVal:0 
 }, 
 radioCheckedChange:function(e){ 
  this.setData({ 
   radioCheckVal:e.detail.value 
  }) 
 } 
})

index.js中,定义一个接收radio选中值的变量radioCheckVal,当监听事件被触发时,记录下被选中的radio value。

最重要的一点是这一句:

<label class="{{radioCheckVal==0?'active':''}}">人气 
    <radio value="0"  hidden="true"></radio> 
   </label>

利用简单的判断表达式,取data中被选中的radio,判断当==当前radio value值时,为lable添加上“active”选中样式。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
常用简易JavaScript函数
Apr 09 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
Jan 10 Javascript
javascript实现跨域的方法汇总
Jun 25 Javascript
Bootstrap每天必学之下拉菜单
Nov 25 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
Jan 13 Javascript
jquery滚动条插件(可以自定义)
Dec 11 Javascript
node.js发送邮件email的方法详解
Jan 06 Javascript
JS批量替换内容中关键词为超链接
Feb 20 Javascript
微信小程序 在线支付功能的实现
Mar 14 Javascript
Angular+Node生成随机数的方法
Jun 16 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
Dec 12 Javascript
vue excel上传预览和table内容下载到excel文件中
Dec 10 Javascript
Node.js 回调函数实例详解
Jul 06 #Javascript
详解vue渲染从后台获取的json数据
Jul 06 #Javascript
微信小程序 Buffer缓冲区的详解
Jul 06 #Javascript
VUE axios发送跨域请求需要注意的问题
Jul 06 #Javascript
vue-cli如何添加less 以及sass
Jul 06 #Javascript
微信小程序 跳转传递数据的实例
Jul 06 #Javascript
详解webpack进阶之插件篇
Jul 06 #Javascript
You might like
php使用反射插入对象示例分享
2014/03/11 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
JS 表单验证大全
2011/11/23 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
python创建和使用字典实例详解
2013/11/01 Python
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
精细化工应届生求职信
2013/11/17 职场文书
幼教个人求职信范文
2013/12/02 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
三严三实对照检查材料
2014/08/25 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
期末考试复习计划
2015/01/19 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫
处理canvas绘制图片模糊问题
2022/05/11 Javascript