1. 程式人生 > 其它 >點選後,物件陣列至少有一個元素的show值為true

點選後,物件陣列至少有一個元素的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, }); } })