收藏
回答

wxs实现 多个item点击变色 并且保持之前的不变,但是没有反应/?

wxml:

<wxs module="utility">
  var da = function (array,index) {
   if(array.indexOf(index)>-1) {
     return 'red';
   }else {
    return 'green';
   }
  }
  module.exports = {da:da}
</wxs>


<view class='main'  wx:for="{{objectArray}}" >
  <view  class="{{utility.da(salaryState,index)}}" bindtap='switch' wx:key="{{index}}" data-index="{{index}}">{{item}}</view>
</view>


js

Page({
    data: {
        objectArray: ["按钮1""按钮2""按钮3"],
        salaryState: []
      },
     
    switchfunction (e{
        var classify = e.currentTarget.dataset.index;
        let array = this.data.salaryState;
        let index = array.indexOf(classify); // 检查数组中是否存在这个数
        console.log(index)
        if (index !== -1) { // 如果找到了这个数
           array.splice(index, 1); // 删除这个数
        } else { // 如果没找到这个数
           array.push(classify); // 添加这个数
        }
        console.log(this.data.salaryState)
    },      
    
})


css

.main {
    width100%;
    padding20px 20px 20px 20px;
    display: flex;
  }
  
  /* 选中样式 */
  .green {
    backgroundrgb(252534);
  }
  .red{
    backgroundrgb(247235);
  }
回答关注问题邀请回答
收藏

1 个回答

  • Demons
    Demons
    2023-10-26

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2023-10-26
    有用
    回复
登录 后发表内容