微信小程序自定义单选框样式实现单选功能

 更新时间:2022年07月19日 09:26:57   作者:牛哞哞杂记  
这篇文章主要为大家详细介绍了微信小程序自定义单选框样式实现单选功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了微信小程序自定义单选框样式实现单选功能的具体代码,供大家参考,具体内容如下

实现效果:

选择小车时,其他类型的车取消选中。

具体思路:

用数组存几种类型车的数据,给每条数据设置点击未选中的效果(checked 设为 false)。点击某一种车时,获取其下标,将它的设置为选中(checked 设置 true)。

代码如下:

// index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    list: [{
        img: "../../image/car.png",
        name: "小车",
        type: "C1/C2/C3",
        checked: true,
      },
      {
        img: "../../image/trucks.png",
        name: "货车",
        type: "A2/B2",
        checked: false,
      },
      {
        img: "../../image/passenger-car.png",
        name: "客车",
        type: "A1/A3/B1",
        checked: false,
      },
      {
        img: "../../image/motorbike.png",
        name: "摩托车",
        type: "D/E/F",
        checked: false,
      }
    ],
  },

  // 选择
  choose: function (e) {

    let index = e.currentTarget.dataset.id;
    let list = this.data.list;
    for (let i = 0; i < list.length; i++) {
      this.data.list[i].checked = false;
    }
    if (list[index].checked) {
      this.data.list[index].checked = false;
    } else {
      this.data.list[index].checked = true;
    }
    this.setData({
      list: this.data.list
    })
  },

})
<!-- wxml -->
  <view class="chooseType" >

    <view class=" {{item.checked?'chooseType-content-select':'chooseType-content'}}'" wx:for="{{list}}" wx:key="index" data-id="{{index}}" bindtap="choose">
      <image class="chooseType-content-img" src="{{item.img}}"></image>
      <view>{{item.name}}</view>
      <view class="chooseType-content-type">{{item.type}}</view>
    </view>

 </view>
 /* wxss */
.chooseType {
  width: 100%;
  height: 200rpx;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: rgb(197, 196, 187) 1rpx solid;
  font-size: 30rpx;
  background: #FFFFFF;
}

.chooseType-content-img{
  width: 90rpx;
  height: 90rpx;
}


.chooseType-content{
  width: 25%;
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.chooseType-content-select{
  width: 25%;
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  background: rgb(163, 162, 162,0.2);
}

.chooseType-content-type{
  margin-top: 10rpx;
  font-size: 30rpx;
  color: #b3b0b0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 微信小程序商城分类滚动列表锚点的项目实践

    微信小程序商城分类滚动列表锚点的项目实践

    本文主要介绍了微信小程序商城分类滚动列表锚点的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 深入理解Javascript动态方法调用与参数修改的问题

    深入理解Javascript动态方法调用与参数修改的问题

    这篇文章主要是对Javascript动态方法调用与参数修改的问题进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 浅析JS中回调函数及用法

    浅析JS中回调函数及用法

    这篇文章主要介绍了JS中回调函数及用法,通过实例代码给大家详细介绍了什么是回调函数,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07
  • 一文带你搞懂JavaScript中数组的特性

    一文带你搞懂JavaScript中数组的特性

    数组是几乎所有编程语言的基础语法,JavaScript因为语法特性,我们更需要理解数组知识。本文从JavaScript中数组的一些特殊之处入手,通过这些少有特性的详细介绍,加深我们对数组的理解
    2023-04-04
  • Mac地址验证的javascript代码

    Mac地址验证的javascript代码

    这篇文章介绍了Mac地址验证的javascript代码,在路由器中,mac地址是用得比较多的
    2013-11-11
  • JavaScript尾递归的实现及应用场景

    JavaScript尾递归的实现及应用场景

    本文主要介绍了JavaScript尾递归的实现及应用场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • BootStrap的Datepicker控件使用心得分享

    BootStrap的Datepicker控件使用心得分享

    bootstrap就非常好用,而且框架布局很漂亮,用起来也很简单。今天小编给大家分享BootStrap的Datepicker控件使用心得,一起看看吧
    2016-05-05
  • ASP 过滤数组重复数据函数(加强版)

    ASP 过滤数组重复数据函数(加强版)

    asp 不重复数组数据的实现代码,比上个版本,更细,更能更强,大家可以根据需要选择。
    2010-05-05
  • JavaScript如何实现防止重复的网络请求的示例

    JavaScript如何实现防止重复的网络请求的示例

    这篇文章主要介绍了JavaScript如何实现防止重复的网络请求的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • three.js中文文档学习之创建场景

    three.js中文文档学习之创建场景

    这篇文章主要给大家介绍了three.js中文文档学习之创建场景的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用three.js具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11

最新评论