微信小程序 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 相关文章推荐
深入理解JavaScript作用域和作用域链
Oct 21 Javascript
easyui datagrid 键盘上下控制选中行示例
Mar 31 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
JavaScript实现快速排序的方法
Jul 31 Javascript
js使用cookie记录用户名的方法
Nov 26 Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 Javascript
Bootstrap CSS布局之表单
Dec 17 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
微信小程序如何获取用户信息
Jan 26 Javascript
React+Redux实现简单的待办事项列表ToDoList
Sep 29 Javascript
Vue+Element自定义纵向表格表头教程
Oct 26 Javascript
解决vue项目本地启动时无法携带cookie的问题
Feb 06 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 手机归属地查询 api
2010/02/08 PHP
php中return的用法实例分析
2015/02/28 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
JavaScript控制Session操作方法
2013/01/17 Javascript
jquery中radio checked问题
2015/03/16 Javascript
详解参数传递四种形式
2015/07/21 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
Node.js数据库操作之查询MySQL数据库(二)
2017/03/04 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
Python批量转换文件编码格式
2015/05/17 Python
python字典的常用操作方法小结
2016/05/16 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Django models.py应用实现过程详解
2019/07/29 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
is_file和file_exists效率比较
2021/03/14 PHP
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
特步官方商城:Xtep
2017/03/21 全球购物
入党自我评价优缺点
2014/01/25 职场文书
经济职业学院毕业生自荐书
2014/03/17 职场文书
二年级小学生评语
2014/04/21 职场文书
临床护理求职信
2014/04/26 职场文书
新兵入伍心得体会
2014/09/04 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
解除租房协议书
2014/12/03 职场文书
亮剑观后感
2015/06/05 职场文书
深入理解python多线程编程
2021/04/18 Python
MySQL中varchar和char类型的区别
2021/11/17 MySQL