微信小程序 label 组件详解及简单实例


Posted in Javascript onJanuary 10, 2017

微信小程序label

相关文章:

微信小程序 Button

微信小程序 radio

微信小程序 slider

微信小程序 switch

微信小程序 textarea

微信小程序 picker-view

微信小程序 picker

微信小程序 label

微信小程序 input 

微信小程序 form

微信小程序 checkbox

实现效果图:

微信小程序 label 组件详解及简单实例

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

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

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

属性名 类型 说明
for String 绑定控件的id

示例代码:

<view class="section section_gap">
<view class="section__title">表单组件在label内</view>
<checkbox-group class="group" bindchange="checkboxChange">
 <view class="label-1" wx:for-items="{{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="section section_gap">
<view class="section__title">label用for标识表单组件</view>
<radio-group class="group" bindchange="radioChange">
 <view class="label-2" wx:for-items="{{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="section section_gap">
<view class="section__title">绑定button</view>
<label class="label-3">
 <text>点击这段文字,button会被选中</text>
</label>
<view class="btn-area">
 <button type="default" name="1" bindtap="tapEvent">按钮</button>
</view>
</view>

<view class="section section_gap">
<view class="section__title">label内有多个时选中第一个</view>
<label class="label-4">
 <checkbox> 选中我 </checkbox>
 <checkbox> 选不中 </checkbox>
 <checkbox> 选不中 </checkbox>
 <checkbox> 选不中 </checkbox>
 <view class="label-4_text">点我会选中第一个</view>
</label>
</view>
Page({
 data: {
 checkboxItems: [
 {name: 'USA', value: '美国'},
 {name: 'CHN', value: '中国', checked: 'true'},
 {name: 'BRA', value: '巴西'},
 {name: 'JPN', value: '日本', checked: 'true'},
 {name: 'ENG', value: '英国'},
 {name: 'TUR', value: '法国'},
 ],
 radioItems: [
 {name: 'USA', value: '美国'},
 {name: 'CHN', value: '中国', checked: 'true'},
 {name: 'BRA', value: '巴西'},
 {name: 'JPN', value: '日本'},
 {name: 'ENG', value: '英国'},
 {name: 'TUR', value: '法国'},
 ],
 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)
 }
})
.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: #fcfff4;
}

.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: #fcfff4;
 border-radius: 50px;
}

.label-2__icon-checked {
 position: absolute;
 left: 3px;
 top: 3px;
 width: 12px;
 height: 12px;
 background: #1aad19;
 border-radius: 50%;
}

.label-4_text{
 text-align: center;
 margin-top: 15px;
}
Javascript 相关文章推荐
基于JQuery的简单实现折叠菜单代码
Sep 15 Javascript
浅析JQuery中的html(),text(),val()区别
Sep 01 Javascript
JavaScript实现的类字典插入或更新方法实例
Jul 10 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
Apr 17 Javascript
Angular移动端页面input无法输入的解决方法
Nov 14 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
Apr 17 Javascript
浅析vue.js数组的变异方法
Jun 30 Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
May 18 Javascript
RxJS在TypeScript中的简单使用详解
Apr 13 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 Javascript
vue动态设置路由权限的主要思路
Jan 13 Vue.js
实现一个简单的vue无限加载指令方法
Jan 10 #Javascript
微信小程序 input输入框详解及简单实例
Jan 10 #Javascript
微信小程序 form组件详解及简单实例
Jan 10 #Javascript
微信小程序  checkbox组件详解及简单实例
Jan 10 #Javascript
使用vue.js实现联动效果的示例代码
Jan 10 #Javascript
jQuery插件ajaxFileUpload使用详解
Jan 10 #Javascript
微信小程序 Button 组件详解及简单实例
Jan 10 #Javascript
You might like
php &amp;&amp; 逻辑与运算符使用说明
2010/03/04 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
深入讲解Java编程中类的生命周期
2016/02/05 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
Python 调用Java实例详解
2017/06/02 Python
深入学习Python中的上下文管理器与else块
2017/08/27 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
Django ModelForm操作及验证方式
2020/03/30 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
电子商务应届生求职信
2013/11/16 职场文书
学生会主席竞聘书
2014/03/31 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
语文教师个人工作总结
2015/02/06 职场文书
违纪学生保证书
2015/02/27 职场文书
喋血孤城观后感
2015/06/08 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js