微信小程序实现复选框效果
程序员文章站
2022-05-14 23:16:53
本文实例为大家分享了微信小程序实现复选框片展示的具体代码,供大家参考,具体内容如下
样式部分你们*发挥,反正这里是什么都没写的,选中和没选中直接用这个this.data...
本文实例为大家分享了微信小程序实现复选框片展示的具体代码,供大家参考,具体内容如下
样式部分你们*发挥,反正这里是什么都没写的,选中和没选中直接用这个this.data.arrstatus[checkindex]去判断就行了,之后你们都懂的。
效果预览:
js部分
// page/index/index.js page({ /** * 页面的初始数据 */ data: { items: [ { name: 'usa', value: '美国' }, { name: 'chn', value: '中国' }, { name: 'bra', value: '巴西' }, { name: 'jpn', value: '日本' }, { name: 'eng', value: '英国' }, { name: 'tur', value: '法国' }, ], arr: [], arrstatus: [] }, check: function (e) { //获取当前选中的值 var checkvalue = e.currenttarget.dataset.val; //获取当前选中的下标 var checkindex = e.currenttarget.dataset.index; //当前选中的取反值 this.data.arrstatus[checkindex] = !this.data.arrstatus[checkindex]; if (this.data.arrstatus[checkindex]) { //如果当前为选中状态则将值插入进数组中 this.data.arr.push(checkvalue); }else{ //如果当前为未选中状态则将值从数组中删除并返回一个新的数组 for (var i in this.data.arr) { if (this.data.arr[i] == checkvalue) { this.data.arr.splice(i); } } } //打印当前所选中的数据 console.log(this.data.arr); }, /** * 生命周期函数--监听页面加载 */ onload: function (options) { //设置数组中每一个数据的状态 for (var i in this.data.items) { this.data.arrstatus[i] = false; } }, })
wxml部分:
<block wx:for='{{ items }}'>
<text data-index='{{ index }}' data-val='{{ item.value }}' catchtap='check'>{{ item.value }}</text>
</block>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。