微信小程序之多選checkbox選中之后改變樣式

原理:通過checkChange來監(jiān)聽所有checkbox的變化,監(jiān)聽函數(shù)通過e.dtail.value得到一個(gè)被選中的數(shù)組,通過選中數(shù)組checkArr[],來給原先的數(shù)據(jù)數(shù)組items[]的被選中對象的check屬性置true,沒有被選中的置false,在我們的wxml中,通過判斷每個(gè)對象的checked屬性來給他一個(gè)”is_checked”的class。

wxml

 <checkbox-group class='free-radios' bindchange="checkChange">
       <label bindtap="click"  wx:for="{{items}}" wx:key="{{items}}"  class="free-radio {{item.checked?'is_checked':''}}">
           <checkbox value="{{item.name}}" name="{{item.value}}"  checked="{{item.checked}}" hidden='true'></checkbox>
           <label class="free-text">{{item.value}}</label>
        </label>
</checkbox-group>

js

data: {
    showDialog: false,
    showDialogRight:false,
    items: [
      { name: '0', value: '中國', checked: false,},
      { name: '1', value: '美國', checked: false,},
      { name: '2', value: '巴西', checked: false,},
      { name: '3', value: '日本', checked: false,},
      { name: '4', value: '英國', checked: false,},
      { name: '5', value: '法國', checked: false,},
      { name: '6', value: '韓國', checked: false,},
      { name: '7', value: '俄羅斯', checked: false,},],
  },
checkChange: function (e) {
    console.log('radio發(fā)生change事件,攜帶value值為:', e)
    var that = this
    that.setData({
      value: e.detail.value
    })
    var items = this.data.items;
    var checkArr = e.detail.value;
    for (var i = 0; i < items.length; i++) {
      if (checkArr.indexOf(i + "") != -1) {
        items[i].checked = true;
      } else {
        items[i].checked = false;
      }
    }
    this.setData({
      items: items
    })  
  },

原文來自:http://blog.csdn.net/Wu_shuxuan/article/details/78491953?locationNum=3&fps=1

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • WXML WXML(WeiXin Markup Language)是微信的一套標(biāo)簽語言,結(jié)合基礎(chǔ)組件、事件系統(tǒng),可...
    許劍鋒閱讀 7,294評論 3 51
  • 昨天看了一下微信小程序官方文檔,總結(jié)一下自己學(xué)習(xí)的個(gè)人心得. 首先從官方文檔給的框架說起,微信小程序官方文檔給出了...
    Mr大大大閱讀 47,530評論 9 68
  • 1、窗體 1、常用屬性 (1)Name屬性:用來獲取或設(shè)置窗體的名稱,在應(yīng)用程序中可通過Name屬性來引用窗體。 ...
    Moment__格調(diào)閱讀 4,805評論 0 11
  • 我是一只籠中鳥 ,一只并不普通的籠中鳥。 在我年輕時(shí),也就是幾年前,曾想去高山上聽流水聲,稀里嘩啦;也想去北方找燕...
    咔咔咔6閱讀 309評論 0 0
  • 不惑之年的老爸對新生事物接受能力慢,一下班就搗鼓自己的手機(jī),不停的問我這個(gè)怎么這樣,那個(gè)怎么那樣,這個(gè)怎么弄,那個(gè)...
    小二隨筆閱讀 571評論 0 0

友情鏈接更多精彩內(nèi)容