1,wxml
<view style="margin: 40rpx 100rpx;">
<view wx:for='{{list}}' wx:for-item='item' wx:key='index' class="row" >
<view class="{{item.select?'select':''}}" data-index='{{index}}' bindtap="selectFruitClick">{{item.name+'('+item.id+')'}}</view>
</view>
<view>下面参数</view>
<view>{{selectedNameList}}</view>
<view>{{selectedIdList}}</view>
</view>
2,js
const {addSelectToArray} = require('../../utils/util');
Page({
data: {
list:[
{name:'苹果',id:1},
{name:'西瓜',id:2},
{name:'樱桃',id:3},
{name:'橘子',id:4},
],
selectedIdList:[],
selectedNameList:[]
},
onLoad: function () {
let list = this.data.list
addSelectToArray(list)
this.setData({
list
})
},
selectFruitClick(e){
let index = e.currentTarget.dataset.index
let selectedIdList = [],selectedNameList = [],list = this.data.list
list[index].select =!list[index].select
list.forEach(v=>{
if(v.select){
selectedIdList.push(v.name)
selectedNameList.push(v.id)
}
})
this.setData({
list,
selectedIdList: selectedIdList,
selectedNameList:selectedNameList
})
},
})
3,util.js
const addSelectToArray = function (list) {
list.forEach(v=>{
v.select = false
})
}
module.exports = {
addSelectToArray
}
4,css
.select{
color: red;
}