界面有六张图片,点击其中一张会切换成被点击过的图片,点击其他的图片也会换成被点击过得图片,上一个图片切换回为被点击的图片
<view class='box'>
<view class='box_list' wx:for="{{listInfo}}" data-current="{{index}}" wx:key="this" bindtap="chooseImg">
<image class="box-image" hidden='{{curIdx===index}}' src="{{item.imgUrl}}"></image>
<image class="box-image" hidden='{{curIdx!==index}}' src="{{item.curUrl}}"></image>
<text class="box-text">{{item.title}}{{index}}</text>
</view>
</view>
.box {
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-around;
margin-top: 20rpx;
}
.box_list{
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-around;
margin-top: 20rpx;
}
.box-image{
height: 84rpx;
width: 84rpx;
margin-bottom: 10rpx;
}
.box-text{
font-size: 28rpx;
}
Page({
data: {
curIdx:null,
listInfo:[
{
title:'效果一',
imgUrl: '../../image/icon-1.png',
curUrl: '../../image/icon-1-cur.png',
},
{
title: '效果二',
imgUrl: '../../image/icon-2.png',
curUrl: '../../image/icon-2-cur.png',
},
{
title: '效果三',
imgUrl: '../../image/icon-3.png',
curUrl: '../../image/icon-3-cur.png',
},
]
},
chooseImg: function (e) {
this.setData({
curIdx: e.currentTarget.dataset.current
})
// console.log(e)
// console.log(this.data.curIdx)
}
})
4 回答942 阅读
1 回答699 阅读✓ 已解决
1 回答692 阅读✓ 已解决
2 回答849 阅读
2 回答882 阅读
1 回答741 阅读✓ 已解决
2 回答598 阅读
真的很基本啊啊啊啊
自己运行吧