首页后端开发其他后端知识自定义微信小程序修改checkbox如何实现?

自定义微信小程序修改checkbox如何实现?

时间2024-03-28 14:56:04发布访客分类其他后端知识浏览750
导读:这篇文章给大家介绍了“自定义微信小程序修改checkbox如何实现?”的相关知识,讲解详细,步骤过程清晰,对大家进一步学习和理解“自定义微信小程序修改checkbox如何实现?”有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟...
这篇文章给大家介绍了“自定义微信小程序修改checkbox如何实现?”的相关知识,讲解详细,步骤过程清晰,对大家进一步学习和理解“自定义微信小程序修改checkbox如何实现?”有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。

很多时候我们想把小程序radio和checkbox改成标签的样式,有木有感觉自带的有点丑?研究了很久,终于搞定,最终效果如下,样式可以随意修改,如果不喜欢这个样式可以自己再调整一下,颜色都可以随便改的。

wxml代码

view class=´title´>
    radio单选标签/view>
    
radio-group bindchange="radioChange">
    
view class=´label´>

  label class="ui-radio {
{
item.checked==true?´active´:´´}
}
" wx:for="{
{
items}
}
    ">

    radio value="{
{
item.value}
}
" checked="{
{
item.checked}
}
    " />
    
    text class="text">
{
{
item.name}
}
    /text>
    
  /label>
    
  /view>
    
/radio-group>
    


view class=´title´>
    checkbox多选标签/view>
    
checkbox-group bindchange="checkboxChange">
    
  view class=´label´>

    label class="ui-radio {
{
item.checked==true?´active´:´´}
}
" wx:for="{
{
checkboxItems}
}
    ">

      checkbox value="{
{
item.name}
}
,{
{
item.id}
}
" checked="{
{
item.checked}
}
    " />
    
      text class="text">
{
{
item.name}
}
    /text>
    
    /label>
    
  /view>
    
/checkbox-group>


js代码

Page({

  data: {

    items: [
      {
 value: ´USA´, name: ´美国´ }
,
      {
 value: ´CHN´, name: ´中国´ }
,
      {
 value: ´BRA´, name: ´巴西´ }
,
      {
 value: ´JPN´, name: ´日本´ }
,
      {
 value: ´ENG´, name: ´英国´ }
,
      {
 value: ´FRA´, name: ´法国´ }
,
    ],

    checkboxItems: [
      {
 value: ´USA´, name: ´美国´, id: 0 }
,
      {
 value: ´CHN´, name: ´中国´, id: 1 }
,
      {
 value: ´BRA´, name: ´巴西´, id: 2 }
,
      {
 value: ´JPN´, name: ´日本´, id: 3 }
,
      {
 value: ´ENG´, name: ´英国´, id: 4 }
,
      {
 value: ´FRA´, name: ´法国´, id: 5 }
,
    ]    
  }
,

 
  radioChange: function (e) {
    
    var items = this.data.items;
    
    for (var i = 0;
     i  items.length;
   i) {

      items[i].checked = items[i].value == e.detail.value
    }

    console.log(items)

    this.setData({

      items: items
    }
    );

  }
,


  checkboxChange: function (event) {
    
    var items = this.data.checkboxItems;
    
    var id = [];
    
    //获取标签id
    for (var i = 0;
     i  event.detail.value.length;
 i  ) {
    
      var idNum = event.detail.value[i].split(´,´);
 
      id = id.concat(idNum[1])
    }
    
    for (var y = 0;
     y  items.length;
 y  ) {

      if (id.indexOf(y   "") != -1) {
    
        items[y].checked = true;

      }
 else {
    
        items[y].checked = false;

      }

    }

    this.setData({

      checkboxItems: items
    }
    );

  }

}
)


wxss代码

.title{
    
  margin-left: 20rpx;
    
  margin-top: 50rpx;

}


.ui-radio radio,.ui-radio checkbox {
    
  display: none;

}


.label{
    
  margin-left: 10rpx;
    
  display: flex;
    
  flex-direction: row;
    
  flex-wrap:wrap;

}


.ui-radio{
    
  border: 1px solid #D9D9D9;
    
  border-radius: 5px;
    
  width: 160rpx;
    
  height: 70rpx;
    
  text-align: center;
    
  margin: 10rpx 10rpx;
    
  white-space:nowrap;
    
  font-size: 14px;

}


.ui-radio.active{
    
  background-color: #1AAD19;
    
  color: #fff;
    
  border-radius: 5px;
    
  border: 1px solid #1AAD19;
    
  width: 160rpx;
    
  height: 70rpx;
    
  text-align: center;
    
  margin: 10rpx 10rpx;
    
  white-space:nowrap;

}


.text{
    
  color:#000;
    
  line-height:70rpx;
    
  font-size: 14px;

}


.ui-radio.active .text{
    
  color:#fff;
    
  line-height:70rpx;
    
  font-size: 14px;

}
    

其实js可以根据自己的业务逻辑改的,这里只是一个demo,最主要的是css代码,希望对大家有用


以上就是关于“自定义微信小程序修改checkbox如何实现?”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 自定义微信小程序修改checkbox如何实现?
本文地址: https://pptw.com/jishu/655013.html
Java SpringMVC后端开发支付统一下单API如何操作 if/else 和 switch怎样才能写出更优雅的判断逻辑

游客 回复需填写必要信息