微信小程序点击切换并高亮
时间: 2023-06-14 16:03:20 浏览: 125
小程序代码高亮
你可以使用 `wx:for` 以及 `wx:if` 来实现点击切换并高亮的效果。
首先,在 `wxml` 文件中定义一个列表,使用 `wx:for` 来遍历列表元素,同时使用 `wx:if` 来判断当前元素是否被选中:
```html
<view wx:for="{{list}}" wx:key="id" wx:tap="onItemTap">
<view class="{{item.selected ? 'selected' : ''}}">{{item.name}}</view>
</view>
```
在上面的代码中,`list` 是一个数组,里面存放了需要展示的元素。`wx:key="id"` 是为了告诉框架每个元素的唯一标识符,以便框架对元素进行优化。
当用户点击某个元素时,会触发 `onItemTap` 函数:
```javascript
onItemTap: function (e) {
var id = e.currentTarget.dataset.id;
var list = this.data.list;
for (var i = 0; i < list.length; i++) {
if (list[i].id === id) {
list[i].selected = true;
} else {
list[i].selected = false;
}
}
this.setData({
list: list
});
}
```
在上面的代码中,我们先获取用户点击的元素的 `id`,然后遍历 `list` 数组,根据 `id` 来判断哪个元素被选中了。最后,使用 `setData` 函数更新 `list` 数组,让选中的元素高亮显示。
最后,在 `wxss` 文件中定义 `selected` 类,用来控制选中元素的样式:
```css
.selected {
background-color: #f00;
color: #fff;
}
```
上面的代码中,我们将选中元素的背景色设置为红色,文字颜色设置为白色,你可以根据自己的需求来调整样式。
阅读全文