微信小程式RadioGroup代替方案

2021-07-23 22:22:08 字數 1890 閱讀 5463

外圈是乙個圓角的矩形

內部是第n段取值,其中最後一段為空,宣告class為last

選中為底色+白字,普通狀態則反之,宣告class為selected

/*lxsegmentedcontrol容器*/

.segmentedcontrol

/*普通文字*/

.segmentedcontrol

text

/*選中狀態文字*/

.segmentedcontrol

text

.selected

/*最後乙個分組按鈕*/

.segmentedcontrol

text

.last

class="segmentedcontrol">

男text>

class="selected">女text>

class="last">保密text>

這裡有乙個坑:

男text>
不等同於

男text>

後者會變成佔據兩行

page(,,,

]}})

class="segmentedcontrol">

wx:for="

}">

class="last"

wx:if="

}">

}text>

class="selected"

wx:elif="

}">

}text>

wx:else>

}text>

block>

view>

注意:以上判斷是錯的,當最後乙個高亮時卻不出selected效果,於是後文再重寫。

indexchanged: function

(e) // 寫回資料

this.setdata();

// clazz狀態

this.clazzstatus();

},

索性改為提供資料來源的方式來實現,wxml中就不做判斷了,wx:if只能對等標籤上判斷,實在不好用。

clazzstatus: function

() // 最後個元素, 追加last

if (i == radiovalues.length - 1)

//去掉尾部空格

cls = cls.replace(/(\s*$)/g,'');

clazz[i] = cls;

}// 寫回資料

this.setdata();

}

然後分別在onload與indexchanged呼叫它即可。

而布局檔案也變得異常清晰,資料與檢視分離了:

class="segmentedcontrol">

wx:for="

}">

data-index="}"

bindtap="indexchanged"

class="

}">

}text>

block>

view>

正文完

(微信小程式)一 初識微信小程式

需要看的 先是檔案目錄 一 pages 他存放於多個頁面 如 index log頁面。可以把他裡面的每個資料夾看成乙個整體。這個整體存放著 html css 和 資料 1 index資料夾 存放的index頁面的目錄。2 index.js 他可以處理得到 ajax 或自定義定義的資料。把得到的值封裝...

微信小程式

2.單獨設定某一頁面下的頂部欄的背景顏色,在其對應的.json檔案下修改即可 3.this.setdata 注意 onload函式下面執行的是非同步操作,非同步操作裡面this.data.直接賦值,是無效的,必須使用this.setdata this.setdata msg he llo wor l...

微信小程式

你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展示 全新的ka...