详解微信小程序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之Partial Application学习
Jan 10 Javascript
jQuery性能优化28条建议你值得借鉴
Feb 16 Javascript
jquery和ajax的关系详细介绍
Nov 29 Javascript
JS实现局部选择打印和局部不选择打印
Apr 03 Javascript
灵活的理解JavaScript中的this指向
Feb 25 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
Jun 25 Javascript
JS实现的手机端精简幻灯片效果
Sep 05 Javascript
jquery实现折叠菜单效果【推荐】
Mar 08 Javascript
jQuery UI Grid 模态框中的表格实例代码
Apr 01 jQuery
webpack教程之webpack.config.js配置文件
Jul 05 Javascript
使用vue-router在Vue页面之间传递数据的方法
Jul 15 Javascript
解决layer.prompt无效的问题
Sep 24 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 之Section与Cookie使用总结
2012/09/14 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php实现的CSS更新类实例
2014/09/22 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
JCalendar 日历控件 v1.0 beta[兼容IE&amp;Firefox] 有文档和例子
2007/05/30 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
jQuery实现滚动切换的tab选项卡效果代码
2015/08/26 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python生成器以及应用实例解析
2018/02/08 Python
对python requests的content和text方法的区别详解
2018/10/11 Python
Django时区详解
2019/07/24 Python
Python实现Restful API的例子
2019/08/31 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
工作失误检讨书范文大全
2014/01/13 职场文书
期末自我鉴定
2014/02/02 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
小学校长开学致辞
2015/07/29 职场文书
安全生产感想
2015/08/07 职场文书
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
详解redis在微服务领域的贡献
2021/10/16 Redis