注冊

小程序改變radio大小,微信小程序修改radio大小

2020-09-27
導(dǎo)讀:小程序自帶的radio似乎是不能調(diào)整大小的,在項目中使用時很不方便,時常會影響整個界面的效果。為了解決這個問題,使用text標(biāo)簽結(jié)合icon標(biāo)簽實現(xiàn)了radio效果...

 
小程序自帶的radio似乎是不能調(diào)整大小的,在項目中使用時很不方便,時常會影響整個界面的效果。為了解決這個問題,使用text標(biāo)簽結(jié)合icon標(biāo)簽實現(xiàn)了radio效果。

小程序改變radio大小,微信小程序修改radio大小

接下來看看如何實現(xiàn)的吧。

思路: 
左邊一個< text>右邊一個< icon>來實現(xiàn)radio效果。 
以列表方式排列所有地區(qū)area,給地區(qū)設(shè)置isSelect屬性,如果isSelect=true則顯示的icon 的type為success否則icon的type顯示circle。 
當(dāng)text被點擊時,根據(jù)area的id來確定被點擊的text,被點擊的text對應(yīng)的area的isSelect屬性設(shè)置為true否則設(shè)置為false。

先附上wxml文件代碼部分:

 

  1. <scroll-view hidden="{{hideArea}}" scroll-y="true" style="height: 100px;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">
  2. <view class="radio-group" >
  3. <label wx:for="{{areas}}" wx:for-item="area">
  4. <text bindtap="selectAreaOk" data-areaId="{{area.id}}">{{area.name}}</text>
  5. <icon wx:if="{{area.isSelect}}" type="success" size="10"/>
  6. <icon wx:else type="circle" size="10"/>
  7. </label>
  8. </view>
  9. </scroll-view>

先設(shè)定一個scroll-view,設(shè)置選擇框的父容器位置大小其中radio-group的wxss設(shè)定了容器內(nèi)字體大小已經(jīng)排練方式

 

  1. .radio-group{
  2. font-size: 26rpx;
  3. display: flex;
  4. flex-direction: column;
  5. }

接下來遍歷了areas數(shù)組用來顯示 地區(qū)名稱+icon 其中為地區(qū)名稱 < text>設(shè)置了 bindtap、data-areaId 。這里要跟js進(jìn)行數(shù)據(jù)交互,其中data-areaId為傳遞過去的參數(shù)。

根據(jù)area對象的isSelect屬性來確定顯示的< icon>,其中一個是圓圈,一個是綠色的對勾。示例中icon的大小設(shè)置為10,這里可以隨意改變其大小。

接下來是js代碼部分。

 

  1. //選擇區(qū)域
  2. selectAreaOk: function(event){
  3. var selectAreaId = event.target.dataset.areaid;
  4. var that = this
  5. areaId = selectAreaId
  6. for(var i = 0;i<this.data.areas.length;i++){
  7. if(this.data.areas[i].id==selectAreaId){
  8. this.data.areas[i].isSelect=true
  9. }else{
  10. this.data.areas[i].isSelect=false
  11. }
  12. }
  13. this.setData({
  14. areas:this.data.areas,
  15. skus:[],
  16. hideArea:true
  17. })
  18. getSkus(that,selectAreaId)
  19. }

在js代碼里面接收text的點擊事件并接收到傳遞過來的參數(shù),遍歷areas數(shù)組,將選中的area的isSelect屬性設(shè)置為true,其余設(shè)置為false,再刷新wxml的areas部分。

ok就這么簡單。

小程序改變radio大小,微信小程序修改radio大小

重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)