字節(jié)跳動(dòng)小程序開發(fā)組件文檔 label

2019-08-09 14:17 更新

用來改進(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

示例


開發(fā)者工具中預(yù)覽


<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)擊')
  }
})


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)