label

2020-02-11 18:43 更新
基礎庫 1.0.0 開始支持本組件。

用來改進表單組件的可用性,使用 for 屬性找到對應的 id,或者將控件放在該標簽下,當點擊時,就會觸發(fā)對應的控件。

for 優(yōu)先級高于內(nèi)部控件,內(nèi)部有多個控件的時候默認觸發(fā)第一個控件。

目前可以綁定的控件有:<button />, <checkbox />, <radio />, <switch />。


屬性說明

屬性名類型默認值必填說明最低版本
forstring綁定控件的 id1.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標識表單組件</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)有多個時選中第一個</view>
  <label class="label-3">
    <checkbox class="checkbox-3">選項一</checkbox>
    <checkbox class="checkbox-3">選項二</checkbox>
    <view class="label-3-text">點擊該label下的文字默認選中第一個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("按鈕被點擊");
  }
});
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號