详解微信小程序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 直接操作本地文件的实现代码
Dec 01 Javascript
js实现图片无缝滚动
Dec 23 Javascript
AngularJS 模块化详解及实例代码
Sep 14 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 Javascript
js实时监控文本框输入字数的实例代码
Jan 18 Javascript
vue 开发一个按钮组件的示例代码
Mar 27 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
Jul 09 Javascript
JavaScript canvas实现雪花随机动态飘落
Feb 08 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
Mar 07 Javascript
移动端JS实现拖拽两种方法解析
Oct 12 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
Oct 31 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数据饼图效果实现代码
2011/11/23 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
关于图片验证码设计的思考
2007/01/29 Javascript
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
python聊天程序实例代码分享
2013/11/18 Python
Python open()文件处理使用介绍
2014/11/30 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
Delphi CS笔试题
2014/01/04 面试题
领导的自我鉴定
2013/12/28 职场文书
师德个人剖析材料
2014/02/02 职场文书
2014社区三八妇女节活动总结
2014/03/01 职场文书
大学生励志演讲稿
2014/04/25 职场文书
政工师工作总结2015
2015/05/26 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
Django + Taro 前后端分离项目实现企业微信登录功能
2022/04/07 Python
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis