详解微信小程序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 匿名函数及其代码模式原理
Mar 19 Javascript
JavaScript prototype属性深入介绍
Nov 27 Javascript
js将当前时间格式转换成时间搓(自写)
Sep 26 Javascript
replace()方法查找字符使用示例
Oct 28 Javascript
jquery的ajax跨域请求原理和示例
May 08 Javascript
a标签的href与onclick事件的区别详解
Nov 12 Javascript
bootstrap 表单验证使用方法
Jan 11 Javascript
jQuery validate 验证radio实例
Mar 01 Javascript
Angular.js中上传指令ng-upload的基本使用教程
Jul 30 Javascript
vue项目实现github在线预览功能
Jun 20 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
基于JavaScript获取base64图片大小
Oct 18 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 日常开发小技巧
2009/09/23 PHP
PHP 数组基础知识小结
2010/08/20 PHP
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
Javascript学习笔记二 之 变量
2010/12/15 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
详解Vue如何支持JSX语法
2017/11/10 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
python pytest进阶之fixture详解
2019/06/27 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
英国综合网上购物商城:The Hut
2018/07/03 全球购物
数控专业应届生求职信
2013/11/27 职场文书
会计专业自我评价
2014/02/12 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
大学生就业意向书
2015/05/11 职场文书