国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序checkbox,checkbox-group多選框的簡(jiǎn)易用法,代碼簡(jiǎn)潔,可復(fù)用性高

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序checkbox,checkbox-group多選框的簡(jiǎn)易用法,代碼簡(jiǎn)潔,可復(fù)用性高。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

首先這是官網(wǎng)的用法:
代碼非常的長(zhǎng),而且很難復(fù)用(不能多個(gè)復(fù)選框共用這個(gè)checkboxChange方法)

<checkbox-group bindchange="checkboxChange">
	 <label class="weui-cell weui-check__label" wx:for="{{items}}" wx:key="{{item.value}}">
	    <view class="weui-cell__hd">
	      <checkbox value="{{item.value}}" checked="{{item.checked}}"/>
	    </view>
	    <view class="weui-cell__bd">{{item.name}}</view>
	  </label>
</checkbox-group>
Page({
  onShareAppMessage() {
    return {
      title: 'checkbox',
      path: 'page/component/pages/checkbox/checkbox'
    }
  },

  data: {
    items: [
      {value: 'USA', name: '美國(guó)'},
      {value: 'CHN', name: '中國(guó)', checked: 'true'},
      {value: 'BRA', name: '巴西'},
      {value: 'JPN', name: '日本'},
      {value: 'ENG', name: '英國(guó)'},
      {value: 'FRA', name: '法國(guó)'}
    ]
  },

  checkboxChange(e) {
    console.log('checkbox發(fā)生change事件,攜帶value值為:', e.detail.value)

    const items = this.data.items
    const values = e.detail.value
    for (let i = 0, lenI = items.length; i < lenI; ++i) {
      items[i].checked = false

      for (let j = 0, lenJ = values.length; j < lenJ; ++j) {
        if (items[i].value === values[j]) {
          items[i].checked = true
          break
        }
      }
    }

    this.setData({
      items
    })
  }
})

劃分線,下面是更好的寫法


觸發(fā)checkboxChange的時(shí)候傳一個(gè)key值過(guò)去,之后值對(duì)應(yīng)的是一個(gè)新數(shù)組(與下面wx:for的數(shù)組不同),用來(lái)存放已選擇的項(xiàng)

<wxs module="v1">
	var  include = function(array,value) {
	    var has = false;
	    for (var i = 0; i < array.length; ++i) {
	        if (array[i] == value){
	            has = true;
	            return has
	        }
	    }
	    return has;
	 }
  module.exports.include =  include;
</wxs>

<checkbox-group bindchange="checkboxChange" data-key="selectedArray">
  <label wx:for="{{myArray}}" wx:key="index" >
       <view>
         <checkbox value="{{item.value}}" checked="{{v1.include(selectedArray,item.value)}}"/>
       </view>
       <view>{{item.name}}</view>
     </label>
 </checkbox-group>

因?yàn)?微信小程序中我們不能直接在wxml模板中使用includes方法(真是夠落后的),所以只能用<wxs>自己定義一個(gè),然后checked這樣寫,如果checked="{{item.checked}}"的話,選中狀態(tài)的頁(yè)面效果將不會(huì)存儲(chǔ)起來(lái).

為什么不用

var  include = function(array,value) {
    return array.indexOf(value) > -1
 }

來(lái)實(shí)現(xiàn)include效果,因?yàn)閭髦档臅r(shí)候默認(rèn)會(huì)把數(shù)字轉(zhuǎn)成字符串傳過(guò)去,[“1”,“2”].indexOf(2)就等于-1了,用上面的方法就避免了這個(gè)情況

data:{
	myArray:[
      {value: 'v1', name: '菠蘿'},
      {value: 'v2', name: '叉燒'},
    ],
    selectedArray: [],
},
checkboxChange(e) {
   let { key } = e.currentTarget.dataset;
   this.setData({
     [key]: e.detail.value
   })
 }

這里checkboxChange的意思就是把選中的值賦給我們傳進(jìn)來(lái)的參數(shù)(數(shù)組)
非常簡(jiǎn)潔,最重要的是,不管我們寫了多少組checkbox-group,都能直接復(fù)用這個(gè)方法文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-505009.html

到了這里,關(guān)于微信小程序checkbox,checkbox-group多選框的簡(jiǎn)易用法,代碼簡(jiǎn)潔,可復(fù)用性高的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • uniapp使用checkbox-group以及API

    在Uniapp中,我們可以使用checkbox-group組件來(lái)實(shí)現(xiàn)多選框的功能。該組件可以將多個(gè)checkbox綁定在一起,使得它們可以一起被操作。 首先,在頁(yè)面中引入checkbox-group組件: 在上面的代碼中,我們定義了一個(gè)checkbox-group,并將其v-model綁定到了selectedFruits變量上。同時(shí),我們還定義了

    2024年02月02日
    瀏覽(17)
  • 完美解決微信小程序使用復(fù)選框van-checkbox無(wú)法選中

    完美解決微信小程序使用復(fù)選框van-checkbox無(wú)法選中

    由于小程序使用了vant-ui框架,導(dǎo)致checkbox點(diǎn)擊無(wú)法選中問(wèn)題 ? 記得定義 checked 默認(rèn)值 ? 解決辦法 : 添加onChange事件,給 checked 做賦值操作。 可以打印看看console.log(e) 選中效果: 取消選中效果: ? ?

    2024年02月12日
    瀏覽(28)
  • 微信小程序:自定義多選框樣式,實(shí)現(xiàn)多選、全選功能,以及使用css實(shí)現(xiàn)選中打鉤效果
  • element ui多選框(Checkbox 多選框、Select多選框)編輯時(shí)無(wú)法選中的解決辦法

    element ui多選框(Checkbox 多選框、Select多選框)編輯時(shí)無(wú)法選中的解決辦法

    ?在上面添加變更事件,然后變更事件中添加this.$forceUpdate(); ?強(qiáng)制渲染多選框的樣式即可 注意: 多選框需要傳數(shù)組,字符串無(wú)法正常渲染,因此表單初始化綁定的v-model需要初始化為空數(shù)組[],而編輯頁(yè)面?zhèn)髦禃r(shí)如果是字符串,需要轉(zhuǎn)數(shù)組: ? ? ? ? 重點(diǎn)就是: this.$forceUpda

    2024年02月05日
    瀏覽(26)
  • C++ Qt開(kāi)發(fā):CheckBox多選框組件

    C++ Qt開(kāi)發(fā):CheckBox多選框組件

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 CheckBox 單行輸入框組件的常用方法及靈活運(yùn)用。 QCheckBox 是 Qt 中用于實(shí)現(xiàn)復(fù)選

    2024年02月05日
    瀏覽(25)
  • 關(guān)于ElementUI的CheckBox多選框數(shù)據(jù)回顯

    關(guān)于ElementUI的CheckBox多選框數(shù)據(jù)回顯

    我們經(jīng)常需要進(jìn)行多選框checkbox的數(shù)據(jù)回顯 ?例如上圖,需要回顯已選的數(shù)據(jù)。 因?yàn)镋lementUi已經(jīng)對(duì)代碼進(jìn)行了封裝,如下代碼示例: ?在 el-checkbox-group 的 v-model 數(shù)據(jù)需要和label標(biāo)簽值相同才能數(shù)據(jù)回顯。 因?yàn)镋lementUI已經(jīng)封裝好了,會(huì)自動(dòng)匹配 el-checkbox-group 中 v-model 的數(shù)據(jù)和

    2024年02月11日
    瀏覽(23)
  • 微信小程序改變checkbox大小

    微信小程序改變checkbox大小

    2024年02月04日
    瀏覽(15)
  • 微信小程序使用 checkbox 如何修改樣式?

    微信小程序使用 checkbox 如何修改樣式?

    主要通過(guò) .wx-checkbox-input 、 .wx-checkbox-input-checked 以及 .wx-checkbox-input-checked::before 三個(gè)類名來(lái)設(shè)置 checkbox 的樣式。 .wx-checkbox-input 用于設(shè)置未選中時(shí)框的樣式 .wx-checkbox-input-checked 用于設(shè)置選中后框的樣式 ,為了覆蓋原生樣式,需要與 .wx-checkbox-input 類連寫,否則權(quán)重不夠。 .

    2024年02月12日
    瀏覽(92)
  • 【微信小程序】checkbox,radio的樣式修改

    【微信小程序】checkbox,radio的樣式修改

    一、checkbox樣式修改 默認(rèn)勾選與未勾選樣式 wxml 設(shè)置wxss文件 更改大小、勾選背景顏色等: 修改radio的樣式為環(huán)形 二、radio樣式修改 wxml中的color要給一個(gè)值 設(shè)置wxss文件

    2024年02月11日
    瀏覽(16)
  • 微信小程序——實(shí)現(xiàn)單選、多選

    微信小程序——實(shí)現(xiàn)單選、多選

    單選使用radio-group標(biāo)簽包裹radio標(biāo)簽 多選使用checkbox-group 標(biāo)簽包裹c(diǎn)heckbox標(biāo)簽 ?單選和多選的wxml代碼 以下是wxss代碼

    2024年02月06日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包