vue中checked复选框,选中时改变背景色或者背景图


使用van-checkbox-group包含van-cell去循环数据列表,而选中的van-cell需要改变背景图,下面是个人的实现方式(简单的一批,两行代码搞定)

html:因为vant的van-checkbox-group选中的数据会保存在一个数组中,所以用indexOf来判断当前cell的某个值在数组中是否存在,不存在返回 -1,则当前cell的class为空,否则为自定义的类名

<van-checkbox-group v-model="checkedDev" checked-color="red"> 
        <van-cell-group>
          <van-cell v-for="(items, index) in DevList"
                    :title="items.deviceName"
                    :key="index"
                    :class="checkedDev.indexOf(items.machineCode) === -1 ? '' : 'red'" />
                    @click="toggle(index)">
            <template #right-icon>
              <van-checkbox :name="items.machineCode"
                            ref="checkDev"/>
            </template>
          </van-cell>
        </van-cell-group>
      </van-checkbox-group>

然后通过类名去设置背景图或者背景色就可以啦~~~

css:

.van-cell.current_checked {
  background: url("../../../assets/images/monitor/empowerBg.png");
}

 效果图:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM