codecamp

label

基础库 1.0.0 开始支持本组件。

用来改进表单组件的可用性,使用 for 属性找到对应的 id,或者将控件放在该标签下,当点击时,就会触发对应的控件。

for 优先级高于内部控件,内部有多个控件的时候默认触发第一个控件。

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


属性说明

属性名类型默认值必填说明最低版本
forstring绑定控件的 id1.0.0


效果示例


代码示例

<view class="page-section page-section-space">
  <view class="page-section-title">表单组件在label内</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内有多个时选中第一个</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("按钮被点击");
  }
});
input
picker
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

字节跳动小程序 介绍

字节跳动小程序 开发

字节跳动小程序开发框架

字节跳动小程序开发框架基础说明

字节跳动小程序开发框架基础功能

字节跳动小程序开发框架逻辑层

无标题文章

无标题目录

API

无标题文章

无标题文章

无标题文章

无标题文章

无标题文章

无标题目录

无标题目录

无标题文章

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }