详解微信小程序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 相关文章推荐
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
Jan 27 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
Aug 06 Javascript
jquery选择器需要注意的问题
Nov 26 Javascript
干货分享:让你分分钟学会javascript闭包
Dec 25 Javascript
KnockoutJS 3.X API 第四章之click绑定
Oct 10 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
Feb 13 Javascript
简单实现js鼠标跟随效果
Aug 02 Javascript
angular4 如何在全局设置路由跳转动画的方法
Aug 30 Javascript
关于redux-saga中take使用方法详解
Feb 27 Javascript
boostrap模态框二次弹出清空原有内容的方法
Aug 10 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
Jan 20 Javascript
VUE实现强制渲染,强制更新
Oct 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的特殊设置
2006/10/09 PHP
mysql5写入和读出乱码解决
2006/11/25 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
直接在JS里创建JSON数据然后遍历使用
2014/07/25 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
Python金融数据可视化汇总
2017/11/17 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
Python实现分段线性插值
2018/12/17 Python
Python requests模块session代码实例
2020/04/14 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
python 用struct模块解决黏包问题
2020/11/07 Python
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
当当网软件测试笔试题
2015/11/24 面试题
《识字五》教学反思
2014/03/01 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
服装发布会策划方案
2014/05/22 职场文书
党员群众路线对照检查材料
2014/08/31 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
委托书格式范文
2015/01/28 职场文书
2015年上半年计生工作总结
2015/03/30 职场文书
学生通报表扬范文
2015/05/04 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书