微信小程序 label 組件詳解及簡(jiǎn)單實(shí)例
微信小程序label
相關(guān)文章:
實(shí)現(xiàn)效果圖:
用來改進(jìn)表單組件的可用性,使用for屬性找到對(duì)應(yīng)的id,或者將控件放在該標(biāo)簽下,當(dāng)點(diǎn)擊時(shí),就會(huì)觸發(fā)對(duì)應(yīng)的控件。
for優(yōu)先級(jí)高于內(nèi)部控件,內(nèi)部有多個(gè)控件的時(shí)候默認(rèn)觸發(fā)第一個(gè)控件。
目前可以綁定的控件有:button, checkbox, radio, switch。
| 屬性名 | 類型 | 說明 |
|---|---|---|
| for | String | 綁定控件的id |
示例代碼:
<view class="section section_gap">
<view class="section__title">表單組件在label內(nèi)</view>
<checkbox-group class="group" bindchange="checkboxChange">
<view class="label-1" wx:for-items="{{checkboxItems}}">
<label>
<checkbox hidden value="{{item.name}}" checked="{{item.checked}}"></checkbox>
<view class="label-1__icon">
<view class="label-1__icon-checked" style="opacity:{{item.checked ? 1: 0}}"></view>
</view>
<text class="label-1__text">{{item.value}}</text>
</label>
</view>
</checkbox-group>
</view>
<view class="section section_gap">
<view class="section__title">label用for標(biāo)識(shí)表單組件</view>
<radio-group class="group" bindchange="radioChange">
<view class="label-2" wx:for-items="{{radioItems}}">
<radio id="{{item.name}}" hidden value="{{item.name}}" checked="{{item.checked}}"></radio>
<view class="label-2__icon">
<view class="label-2__icon-checked" style="opacity:{{item.checked ? 1: 0}}"></view>
</view>
<label class="label-2__text" for="{{item.name}}"><text>{{item.name}}</text></label>
</view>
</radio-group>
</view>
<view class="section section_gap">
<view class="section__title">綁定button</view>
<label class="label-3">
<text>點(diǎn)擊這段文字,button會(huì)被選中</text>
</label>
<view class="btn-area">
<button type="default" name="1" bindtap="tapEvent">按鈕</button>
</view>
</view>
<view class="section section_gap">
<view class="section__title">label內(nèi)有多個(gè)時(shí)選中第一個(gè)</view>
<label class="label-4">
<checkbox> 選中我 </checkbox>
<checkbox> 選不中 </checkbox>
<checkbox> 選不中 </checkbox>
<checkbox> 選不中 </checkbox>
<view class="label-4_text">點(diǎn)我會(huì)選中第一個(gè)</view>
</label>
</view>
Page({
data: {
checkboxItems: [
{name: 'USA', value: '美國(guó)'},
{name: 'CHN', value: '中國(guó)', checked: 'true'},
{name: 'BRA', value: '巴西'},
{name: 'JPN', value: '日本', checked: 'true'},
{name: 'ENG', value: '英國(guó)'},
{name: 'TUR', value: '法國(guó)'},
],
radioItems: [
{name: 'USA', value: '美國(guó)'},
{name: 'CHN', value: '中國(guó)', checked: 'true'},
{name: 'BRA', value: '巴西'},
{name: 'JPN', value: '日本'},
{name: 'ENG', value: '英國(guó)'},
{name: 'TUR', value: '法國(guó)'},
],
hidden: false
},
checkboxChange: function(e) {
var checked = e.detail.value
var changed = {}
for (var i = 0; i < this.data.checkboxItems.length; i ++) {
if (checked.indexOf(this.data.checkboxItems[i].name) !== -1) {
changed['checkboxItems['+i+'].checked'] = true
} else {
changed['checkboxItems['+i+'].checked'] = false
}
}
this.setData(changed)
},
radioChange: function(e) {
var checked = e.detail.value
var changed = {}
for (var i = 0; i < this.data.radioItems.length; i ++) {
if (checked.indexOf(this.data.radioItems[i].name) !== -1) {
changed['radioItems['+i+'].checked'] = true
} else {
changed['radioItems['+i+'].checked'] = false
}
}
this.setData(changed)
}
})
.label-1, .label-2{
margin-bottom: 15px;
}
.label-1__text, .label-2__text {
display: inline-block;
vertical-align: middle;
}
.label-1__icon {
position: relative;
margin-right: 10px;
display: inline-block;
vertical-align: middle;
width: 18px;
height: 18px;
background: #fcfff4;
}
.label-1__icon-checked {
position: absolute;
top: 3px;
left: 3px;
width: 12px;
height: 12px;
background: #1aad19;
}
.label-2__icon {
position: relative;
display: inline-block;
vertical-align: middle;
margin-right: 10px;
width: 18px;
height: 18px;
background: #fcfff4;
border-radius: 50px;
}
.label-2__icon-checked {
position: absolute;
left: 3px;
top: 3px;
width: 12px;
height: 12px;
background: #1aad19;
border-radius: 50%;
}
.label-4_text{
text-align: center;
margin-top: 15px;
}
- 微信小程序 textarea 詳解及簡(jiǎn)單使用方法
- 微信小程序(應(yīng)用號(hào))簡(jiǎn)單實(shí)例應(yīng)用及實(shí)例詳解
- 微信小程序 實(shí)戰(zhàn)小程序?qū)嵗?/a>
- 微信小程序 for 循環(huán)詳解
- 微信小程序 WXML、WXSS 和JS介紹及詳解
- 微信小程序 數(shù)據(jù)訪問實(shí)例詳解
- 微信小程序 參數(shù)傳遞詳解
- 微信小程序 picker-view 組件詳解及簡(jiǎn)單實(shí)例
- 微信小程序 picker 組件詳解及簡(jiǎn)單實(shí)例
- 微信小程序 input輸入框詳解及簡(jiǎn)單實(shí)例
- 微信小程序 form組件詳解及簡(jiǎn)單實(shí)例
- 微信小程序 checkbox組件詳解及簡(jiǎn)單實(shí)例
- 微信小程序 textarea 組件詳解及簡(jiǎn)單實(shí)例
相關(guān)文章
微信小程序之滾動(dòng)視圖容器的實(shí)現(xiàn)方法
這篇文章主要介紹了微信小程序之滾動(dòng)視圖容器的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09
JS實(shí)現(xiàn)一個(gè)微信錄音功能過程示例詳解
這篇文章主要介紹了JS實(shí)現(xiàn)一個(gè)微信錄音功能過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
使用compose函數(shù)優(yōu)化代碼提高可讀性及擴(kuò)展性
這篇文章主要為大家介紹了使用compose函數(shù)提高代碼可讀性及擴(kuò)展性,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
超越Node.js的JavaScript運(yùn)行環(huán)境Bun.js功能特性詳解
這篇文章主要為大家介紹了超越Node.js的JavaScript運(yùn)行環(huán)境Bun.js功能特性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
實(shí)現(xiàn)微信小程序的wxml文件和wxss文件在webstrom的支持
這篇文章主要介紹了實(shí)現(xiàn)微信小程序的wxml文件和wxss文件在webstrom的支持的相關(guān)資料,需要的朋友可以參考下2017-06-06
JS前端使用canvas實(shí)現(xiàn)擴(kuò)展物體類和事件派發(fā)
這篇文章主要為大家介紹了JS前端使用canvas實(shí)現(xiàn)擴(kuò)展物體類和事件派發(fā)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08


