Maison >Applet WeChat >Développement de mini-programmes >Explication détaillée des composants de l'applet WeChat : étiquette d'étiquette

Explication détaillée des composants de l'applet WeChat : étiquette d'étiquette

高洛峰
高洛峰original
2017-03-27 11:32:272024parcourir

Étiquette d'étiquetteDescription du composant :

La balise label est très similaire à l'étiquette HTML. L'élément label ne présente aucun effet spécial à l'utilisateur. Cependant, cela améliore la convivialité pour les utilisateurs de souris. Ce contrôle est déclenché si vous cliquez sur le texte à l'intérieur de l'élément label. C'est-à-dire que lorsque l'utilisateur sélectionne l'étiquette, le focus sera automatiquement mis sur le contrôle de formulaire lié à l'étiquette, qui est principalement utilisé pour améliorer la convivialité du composant de formulaire.
Utilisez l'attribut for pour trouver l'identifiant correspondant, ou placez le contrôle sous l'étiquette. Lorsque vous cliquez dessus, le contrôle correspondant sera déclenché.
For a une priorité plus élevée que les contrôles internes Lorsqu'il y a plusieurs contrôles à l'intérieur, le premier contrôle est déclenché par défaut.
Les commandes qui peuvent actuellement être liées sont : de935b9c153fbe5d6ad7df96bd65d7b8, a2f269297782d34318beedfba321faa2, dd7cdcbe81dd3b31defaf1177bb27d90, 698d939a2c9041f2302734cfeb04788e
étiquette

Composant
L'exemple de code s'exécute comme suit :

Ce qui suit est le code WXML :

详解微信小程序组件:label标签

Ce qui suit est le code JS :

[/p][color=rgb(51, 51, 51)][font=&quot;][size=13px]<view class="content">
  <text class="section__title">-------label绑定checkbox(内嵌)-------</text>
  <checkbox-group bindchange="checkboxChange">
    <view class="label-1" wx:for="{{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="content">
  <text class="section__title">---------label绑定radio(for)---------</text>
  <radio-group class="group" bindchange="radioChange">
    <view class="label-2" wx:for="{{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="content">
  <text class="section__title">-----------label绑定button-----------</text>
  <label for="buttontest">label绑定button(for)</label>
  <button id="buttontest" bindtap="testLabelBindButton_1">Fly-1</button>
  <label>
    <text>label绑定button(内嵌)</text>
    <button bindtap="testLabelBindButton_2">Fly-2</button>
  </label>
</view>
<view class="content">
  <text class="section__title">-----------label绑定switch-----------</text>
  <view>
    <label for="switchtest">label绑定switch( for)</label>
    <switch id="switchtest" checked/>
  </view>
  <view>
    <label>
      <text>label绑定switch(内嵌)</text>
      <switch/>
    </label>
  </view>
    <view>
    <label>
      <text>label绑定switch(内嵌)</text>
      <switch/>
      <switch/>
      <switch/>
    </label>
  </view>
</view>

Voici le code WXSS :

Page({
  data: {
    checkboxItems: [
      {name: &#39;ctrip&#39;, value: &#39;携程&#39;, checked: &#39;true&#39;},
      {name: &#39;qunar&#39;, value: &#39;去哪儿&#39;},
      {name: &#39;tuniu&#39;, value: &#39;途牛&#39;}
    ],
    radioItems: [
      {name: &#39;ctrip&#39;, value: &#39;携程&#39;},
      {name: &#39;qunar&#39;, value: &#39;去哪儿&#39;, checked: &#39;true&#39;},
      {name: &#39;tuniu&#39;, value: &#39;途牛&#39;}
    ],
    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.name) !== -1) {
        changed[&#39;checkboxItems[&#39;+i+&#39;].checked&#39;] = true
      } else {
        changed[&#39;checkboxItems[&#39;+i+&#39;].checked&#39;] = 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.name) !== -1) {
        changed[&#39;radioItems[&#39;+i+&#39;].checked&#39;] = true
      } else {
        changed[&#39;radioItems[&#39;+i+&#39;].checked&#39;] = false
      }
    }
    this.setData(changed)
  },
  testLabelBindButton_1:function(){
    console.log("奔走相告,button通过for可以绑定成功啦!!!");
  },
  testLabelBindButton_2:function(){
    console.log("奔走相告,button通过内嵌可以绑定成功啦!!!");
  }
})


Attributs principaux :

Attribut

Type

Tapez

.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: #CAE1FF;
}
.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: #CAFF70;
    border-radius: 50px;
}
.label-2__icon-checked {
    position: absolute;
    left: 3px;
    top: 3px;
    width: 12px;
    height: 12px;
    background: #1aad19;
    border-radius: 50%;
}
.section__title{
  display: block;
  text-align: center;
  color: #9400D3;
}
.content{
  padding-bottom: 15px;
}

pour Chaîne L'identifiant du contrôle lié (l'identifiant ne prendra effet que s'il est exactement le même que l'identifiant du contrôle de formulaire qui doit être lié)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn