点击后,对象数组至少有一个元素的show值为true
微信小程序上使用的例子:
wxml:
<block wx:for="{{arr}}" wx:key="index">
<view class="name {{item.show ? '' : 'disabled'}}" bindtap="bindChange" data-item="{{item}}" data-index="{{index}}">{{item.name}}</view>
</block>
js:
Page({
data: {
arr :[
{
name: 'xixi',
show: true,
},
{
name: 'Lucy',
show: true,
},
{
name: 'Lily',
show: true,
},
]
},
bindChange(event) {
let { index, item } = event.currentTarget.dataset;
let arr = this.data.arr;
item.show = !item.show;
arr[index].show = item.show;
let flag = arr.findIndex((item) => item.show == true) == -1;
if (flag) {
item.show = true;
}
let arrNew = 'arr[' + index + ']'
this.setData({
[arrNew]: item,
});
}
})

浙公网安备 33010602011771号