W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
用來改進(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/>。
屬性名 | 類型 | 默認(rèn)值 | 說明 | 最低版本 |
---|---|---|---|---|
for | String | 綁定控件的 id | 1.0.0 |
<view class="page-section page-section-space">
<view class="page-section-title">表單組件在label內(nèi)</view>
<checkbox-group class="group" bindchange="checkboxChange">
<view class="label-1" :for="{{checkboxItems}}">
<label>
<checkbox value="{{item.name}}" checked="{{item.checked}}"></checkbox>
<text class="label-1-text">{{item.value}}</text>
</label>
</view>
</checkbox-group>
</view>
<view class="page-section page-section-space">
<view class="page-section-title">label用for標(biāo)識(shí)表單組件</view>
<radio-group class="group" bindchange="radioChange">
<view class="label-2" :for="{{radioItems}}">
<radio id="{{item.name}}" value="{{item.name}}" checked="{{item.checked}}"></radio>
<label class="label-2-text" for="{{item.name}}"><text>{{item.name}}</text></label>
</view>
</radio-group>
</view>
<view class="page-section page-section-space">
<view class="page-section-title">label內(nèi)有多個(gè)時(shí)選中第一個(gè)</view>
<label class="label-3">
<checkbox class="checkbox-3">選項(xiàng)一</checkbox>
<checkbox class="checkbox-3">選項(xiàng)二</checkbox>
<view class="label-3-text">點(diǎn)擊該label下的文字默認(rèn)選中第一個(gè)checkbox</view>
</label>
</view>
Page({
data: {
checkboxItems: [
{name: 'tt', value: '頭條'},
{name: 'xigua', value: '西瓜視頻', checked: 'true'}
],
radioItems: [
{name: 'Toutiao', value: '頭條'},
{name: 'Xigua', value: '西瓜視頻', checked: 'true'}
],
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)
},
tapEvent: function (e) {
console.log('按鈕被點(diǎn)擊')
}
})
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: