详解微信小程序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基础的动画教程,直观易懂
Jan 10 Javascript
html读出文本文件内容
Jan 22 Javascript
很多人都是用下面的js刷新站IP和PV
Sep 05 Javascript
javascript 动态生成私有变量访问器
Dec 06 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
Oct 17 Javascript
教你使用javascript简单写一个页面模板引擎
May 05 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
Jun 29 Javascript
JavaScript常用代码书写规范的超全面总结
Sep 11 Javascript
JS实现的表头列头固定页面功能示例
Jan 10 Javascript
JavaScript常用数学函数用法示例
May 14 Javascript
iconfont的三种使用方式详解
Aug 05 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
Aug 20 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入门的学习方法
2007/01/02 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
浅谈php命令行用法
2015/02/04 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
php中错误处理操作实例分析
2019/08/23 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
JQuery选择器特辑 详细小结
2012/05/14 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
2019/12/27 Javascript
vue使用Sass时报错问题的解决方法
2020/10/14 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
Python中IPYTHON入门实例
2015/05/11 Python
Python中的random()方法的使用介绍
2015/05/15 Python
深入理解Django的自定义过滤器
2017/10/17 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
平面设计自荐信
2013/10/07 职场文书
急诊科护士自我鉴定
2013/10/14 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
沈阳故宫导游词
2015/01/31 职场文书
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python
javascript函数式编程基础
2021/09/15 Javascript