详解微信小程序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在IE下设置innerHTML时出现未知的运行时错误的解决方法
Jan 12 Javascript
jqeury eval将字符串转换json的方法
Jan 20 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
Oct 19 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
Aug 24 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
Jun 25 Javascript
浅谈JS的基础类型与引用类型
Sep 13 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
Dec 13 Javascript
Vue通过input筛选数据
Oct 26 Javascript
微信小程序methods中定义的方法互相调用的实例代码
Aug 07 Javascript
vue+element-ui实现表格编辑的三种实现方式
Oct 31 Javascript
GOJS+VUE实现流程图效果
Dec 01 Javascript
详解vue 不同环境配置不同的打包命令
Apr 07 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
xml在joomla表单中的应用详解分享
2012/07/19 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
使用python实现链表操作
2018/01/26 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
python按照多个条件排序的方法
2019/02/08 Python
django最快程序开发流程详解
2019/07/19 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
numpy库reshape用法详解
2020/04/19 Python
没编程基础可以学python吗
2020/06/17 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
运动会方阵解说词
2014/02/12 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
大型营销活动计划书
2014/04/28 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
会议主持词结束语
2015/07/03 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python