详解微信小程序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 相关文章推荐
3款实用的在线JS代码工具(国外)
Mar 15 Javascript
javascript 二进制运算技巧解析
Nov 27 Javascript
jQuery中:eq()选择器用法实例
Dec 29 Javascript
Node.js中child_process实现多进程
Feb 03 Javascript
js获取新浪天气接口的实现代码
Jun 06 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
Nov 29 Javascript
javascript流程控制语句集合
Sep 18 Javascript
详解JSONObject和JSONArray区别及基本用法
Oct 25 Javascript
vue.js中created方法作用
Mar 30 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 Javascript
Vue 中如何正确引入第三方模块的方法步骤
May 05 Javascript
vue点击按钮动态创建与删除组件功能
Dec 29 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运行模式的深入理解
2013/06/03 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
JavaScript 事件对象的实现
2009/07/13 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
使用js实现雪花飘落效果
2013/08/26 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
javascript实现点亮灯泡特效示例
2019/10/15 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
跟老齐学Python之dict()的操作方法
2014/09/24 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
李开复演讲稿
2014/05/24 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
优秀创业计划书分享
2019/07/19 职场文书
Golang解析JSON对象
2022/04/30 Golang
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS