溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序?qū)崿F(xiàn)復(fù)選框效果

發(fā)布時間:2020-08-20 19:06:49 來源:腳本之家 閱讀:208 作者:豆i漿 欄目:web開發(fā)

本文實例為大家分享了微信小程序?qū)崿F(xiàn)復(fù)選框片展示的具體代碼,供大家參考,具體內(nèi)容如下

樣式部分你們自由發(fā)揮,反正這里是什么都沒寫的,選中和沒選中直接用這個this.data.arrStatus[checkIndex]去判斷就行了,之后你們都懂的。

效果預(yù)覽:

微信小程序?qū)崿F(xiàn)復(fù)選框效果

js部分

// page/index/index.js
Page({
 /**
  * 頁面的初始數(shù)據(jù)
  */
 data: {
  items: [
   { name: 'USA', value: '美國' },
   { name: 'CHN', value: '中國' },
   { name: 'BRA', value: '巴西' },
   { name: 'JPN', value: '日本' },
   { name: 'ENG', value: '英國' },
   { name: 'TUR', value: '法國' },
  ],
  arr: [],
  arrStatus: []
 },

 check: function (e) {
  //獲取當(dāng)前選中的值
  var checkValue = e.currentTarget.dataset.val;
  //獲取當(dāng)前選中的下標(biāo)
  var checkIndex = e.currentTarget.dataset.index;
  //當(dāng)前選中的取反值
  this.data.arrStatus[checkIndex] = !this.data.arrStatus[checkIndex];
  if (this.data.arrStatus[checkIndex]) {
   //如果當(dāng)前為選中狀態(tài)則將值插入進數(shù)組中
   this.data.arr.push(checkValue);
  }else{
   //如果當(dāng)前為未選中狀態(tài)則將值從數(shù)組中刪除并返回一個新的數(shù)組
   for (var i in this.data.arr) {
    if (this.data.arr[i] == checkValue) {
     this.data.arr.splice(i);
    }
   }
  }
  //打印當(dāng)前所選中的數(shù)據(jù)
  console.log(this.data.arr);
 },

 /**
  * 生命周期函數(shù)--監(jiān)聽頁面加載
  */
 onLoad: function (options) {
  //設(shè)置數(shù)組中每一個數(shù)據(jù)的狀態(tài)
  for (var i in this.data.items) {
   this.data.arrStatus[i] = false;
  }
 },
})


wxml部分:

<block wx:for='{{ items }}'>
  <text data-index='{{ index }}' data-val='{{ item.value }}' catchtap='check'>{{ item.value }}</text>
</block>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI