<view class="seat"> <block wx:for="{{devData}}" wx:for-index="i" wx:for-item="item" wx:key="index"> <view class='onehandle5'> <block wx:for="{{3}}" wx:for-index="k" wx:for-item="item_k" wx:key="index"> <view wx:if="{{devData[i+item_k] != null && i%3 == 0 }}" class="useage2 {{isActive ? 'active' : ''}}" bindtap="seatActive" data-index="{{i}}"> {{devData[i+item_k]}} </view> </block> </view> </block> </view>怎么将 isActive 变量改为一个数组或对象,以便为每个座位保存一个单独的状态。
时间: 2023-08-04 08:07:01 浏览: 86
pzim-devdata.github.io:这是我的Github Pages网站
可以将isActive变量改为一个数组或对象,以便为每个座位保存一个单独的状态。做法如下:
1. 首先定义一个空的数组或对象,用来保存每个座位的状态。
2. 在遍历座位的时候,给每个座位添加一个data-index属性,值为当前座位的索引值i。同时,将isActive变量改为一个函数,接收一个参数index,用来返回当前座位的状态。
3. 在点击座位时,调用一个函数,传入当前点击的座位索引值,然后修改对应索引的状态值。
代码示例:
```html
<view class="seat">
<block wx:for="{{devData}}" wx:for-index="i" wx:for-item="item" wx:key="index">
<view class='onehandle5'>
<block wx:for="{{3}}" wx:for-index="k" wx:for-item="item_k" wx:key="index">
<view wx:if="{{devData[i+item_k] != null && i%3 == 0 }}"
class="useage2 {{isActive(i+item_k) ? 'active' : ''}}"
bindtap="seatActive" data-index="{{i+item_k}}">
{{devData[i+item_k]}}
</view>
</block>
</view>
</block>
</view>
```
```javascript
Page({
data: {
seatStatus: [], // 用来保存每个座位的状态
devData: [...], // 座位数据
},
// 判断当前座位是否被选中
isActive(index) {
return this.data.seatStatus[index]
},
// 点击座位
seatActive(e) {
const index = e.currentTarget.dataset.index
const seatStatus = this.data.seatStatus
seatStatus[index] = !seatStatus[index]
this.setData({
seatStatus: seatStatus
})
}
})
```
阅读全文