微信小程序的多选改变样式_微信小程序之多选checkbox选中之后改变样式

本文介绍了如何在微信小程序中实现多选checkbox选中后的样式变化。通过监听`checkChange`事件,获取选中项数组,并遍历数据源,根据选中状态更新每个选项的`checked`属性。在WXML中,根据`checked`属性动态添加或移除`is_checked`样式类。
摘要由CSDN通过智能技术生成

原理:通过checkChange来监听所有checkbox的变化,监听函数通过e.dtail.value得到一个被选中的数组,通过选中数组checkArr[],来给原先的数据数组items[]的被选中对象的check属性置true,没有被选中的置false,在我们的wxml中,通过判断每个对象的checked属性来给他一个”is_checked”的class。

wxml

{{item.value}}

js

data: {

showDialog: false,

showDialogRight:false,

items: [

{ name: '0', value: '中国', checked: false,},

{ name: '1', value: '美国', checked: false,},

{ name: '2', value: '巴西', checked: false,},

{ name: '3', value: '日本', checked: false,},

{ name: '4', value: '英国', checked: false,},

{ name: '5', value: '法国', checked: false,},

{ name: '6', value: '韩国', checked: false,},

{ name: '7', value: '俄罗斯', checked: false,},],

},

checkChange: function (e) {

console.log('radio发生change事件,携带value值为:', e)

var that = this

that.setData({

value: e.detail.value

})

var items = this.data.items;

var checkArr = e.detail.value;

for (var i = 0; i < items.length; i++) {

if (checkArr.indexOf(i + "") != -1) {

items[i].checked = true;

} else {

items[i].checked = false;

}

}

this.setData({

items: items

})

},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值