自定义微信小程序修改checkbox如何实现?
导读:这篇文章给大家介绍了“自定义微信小程序修改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
