为了账号安全,请及时绑定邮箱和手机立即绑定

小程序实现toggleclass功能的问题

小程序实现toggleclass功能的问题

ABOUTYOU 2019-03-13 18:27:02
<view class='a'>  <text> Hello {{name}}!</text>  <block wx:for='{{datas}}' wx:key='u'>    <button data-index='{{index}}' class='{{index==id?classname:""}}' data-m='{{t==index}}' bindtap="changeName"> {{item.data}} </button>  </block></view>上面是wxml 三个btn,想实现点击添加classname(class='m'),下面是js部分,可以实现点击添加class='m'功能,但是当点击已添加class='m'按钮时,如何移除此时按钮的class?试了半天还没有想到办法var datas = {  dataa: [{    data: 'click me1'  }, {    data: 'click me2'  }, {    data: 'click me3'  },  ]}Page({  data: { name: 'lili', classname:'', datas: datas.dataa },  changeName: function (e) {    var x = e.currentTarget.dataset.index    console.log(e.detail)    this.setData({      name: 'MINA',      id: x,      classname:'m',    })    ...
查看完整描述

2 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

你可以用一个数组来存class状态。


<button data-index='{{index}}' class='{{index+1==selectedList[index]?"m":""}}' bindtap="changeName"> {{item.data}} </button>


Page({

  data: { name: 'lili', selectedList:[], datas: datas.dataa },

  changeName: function (e) {

    var x = e.currentTarget.dataset.index

    this.setData({

        ['selectedList[' + x + ']']: this.data.selectedList[x]?null:x+1

    })

})


查看完整回答
反对 回复 2019-03-28
  • 2 回答
  • 0 关注
  • 549 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信