在小程序中,无法直接为组件添加 class 属性,但可以通过 setData 方法来动态修改组件的样式。

  1. 首先,在 button 组件上绑定点击事件。
<button bindtap='handleClick' data-btnid='{{index}}'>按钮</button>
  1. 在 Page 的 data 中定义一个 btnList 数组,用于存储每个按钮的样式。
data: {
  btnList: []
}
  1. 在 handleClick 方法中,获取按钮的 data-btnid 属性,根据这个属性修改对应按钮的样式,并将修改后的样式存入 btnList 中。
handleClick(e) {
  const index = e.currentTarget.dataset.btnid;
  const btnList = [...this.data.btnList];
  btnList[index] = 'active';
  this.setData({
    btnList
  });
}
  1. 在 button 组件上通过 wx:if 指令来判断按钮是否处于激活状态,并为激活状态的按钮添加相应的样式。
<button bindtap='handleClick' data-btnid='{{index}}' wx:if='{{btnList[index] === 'active'}}' class='active-btn'>按钮</button>
<button bindtap='handleClick' data-btnid='{{index}}' wx:else>按钮</button>
  1. 在 wxss 中定义 .active-btn 样式,用于设置激活状态的按钮的样式。
.active-btn {
  background-color: red;
  color: #fff;
}

原文地址: https://www.cveoy.top/t/topic/ol7P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录