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

 更新时间: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;
}

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

相关文章

  • 用JS实现一个页面多个css样式实现

    用JS实现一个页面多个css样式实现

    在Hello,Yang中看见的一篇文章,感觉很有用,转来这里……
    2008-05-05
  • JavaScript仿京东秒杀倒计时

    JavaScript仿京东秒杀倒计时

    这篇文章主要为大家详细介绍了JavaScript仿京东秒杀倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • JS设计模式之惰性模式(二)

    JS设计模式之惰性模式(二)

    这篇文章主要为大家详细介绍了JS设计模式之惰性模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 关于layui的动态图标不显示的解决方法

    关于layui的动态图标不显示的解决方法

    今天小编就为大家分享一篇关于layui的动态图标不显示的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 解决Extjs下拉框不显示的问题

    解决Extjs下拉框不显示的问题

    一个父容器也是window的window下的comboBox在页面中点击无效,但是在控制台中查看它的store却是有值的,问题在于没有显示。下面小编给大家分享Extjs下拉框不显示的问题,需要的的朋友参考下吧
    2017-06-06
  • 微信小程序实现打开并下载服务器上面的pdf文件到手机

    微信小程序实现打开并下载服务器上面的pdf文件到手机

    这篇文章主要介绍了微信小程序实现打开并下载服务器上面的pdf文件到手机,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • innerText innerHTML的用法以及注意事项 [推荐]

    innerText innerHTML的用法以及注意事项 [推荐]

    我们常常需要使用另外一些对象的属性来实现动态改变其中的文本,它们就是:innerText,outerText,innerHTML,outerHTML,千万要注意它们的大小写,因为错一点您就得不到预期的效果了。
    2009-05-05
  • Javascript之图片的延迟加载的实例详解

    Javascript之图片的延迟加载的实例详解

    这篇文章主要介绍了Javascript之图片的延迟加载的实例详解的相关资料,这里对延迟加载和异步加载进行了详解和使用方法,需要的朋友可以参考下
    2017-07-07
  • JavaScript中的alert()函数使用技巧详解

    JavaScript中的alert()函数使用技巧详解

    这篇文章主要介绍了JavaScript中的alert()函数使用技巧详解,本文讲解了普通弹出、带换行的文本、使用制表符、使用变量、使用样式等选择,需要的朋友可以参考下
    2014-12-12
  • Bootstrap3制作图片轮播效果

    Bootstrap3制作图片轮播效果

    这篇文章主要教大家如何利用Bootstrap3制作图片轮播效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05

最新评论