详解微信小程序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 相关文章推荐
jquery下操作HTML控件的实现代码
Jan 12 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
Jan 09 Javascript
js数组中如何随机取出一个值
Jun 13 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
Oct 08 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
Jun 18 Javascript
Vue filters过滤器的使用方法
Jul 14 Javascript
vue2.0 axios跨域并渲染的问题解决方法
Mar 08 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
Apr 12 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
Nov 13 Javascript
详解element-ui中el-select的默认选择项问题
Aug 02 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
Aug 08 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
Aug 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
多数据表共用一个页的新闻发布
2006/10/09 PHP
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
微信支付的开发流程详解
2016/09/13 PHP
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
Python中无限循环需要什么条件
2020/05/27 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
python代码能做成软件吗
2020/07/24 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
精彩的推荐信范文
2013/11/26 职场文书
年级组长自我鉴定
2014/02/22 职场文书
大专生找工作自荐书
2014/06/10 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
学习考察心得体会
2014/09/04 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
庆祝教师节标语
2014/10/09 职场文书
高中社区服务活动报告
2015/02/05 职场文书
现货白银电话营销话术
2015/05/29 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery