微信小程序 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 类型判断代码分析
Mar 28 Javascript
javascript中的prototype属性实例分析说明
Aug 09 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
Oct 17 Javascript
Jquery validation remote 验证的缓存问题解决方法
Mar 25 Javascript
详解JavaScript的while循环的使用
Jun 03 Javascript
Bootstrap模态框禁用空白处点击关闭
Oct 20 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
Dec 02 Javascript
详解支持Angular 2的表格控件
Jan 19 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
Nov 02 Javascript
opencv 识别微信登录验证滑动块位置
Aug 07 Javascript
JS正则表达式封装与使用操作示例
May 15 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
Jul 12 Javascript
实现一个简单的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中设置时区,记录日志文件的实现代码
2013/01/07 PHP
php 常用的系统函数
2017/02/07 PHP
js解析json读取List中的实体对象示例
2014/03/11 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
jquery获取easyui日期控件的值实现方法
2016/11/09 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
python设置值及NaN值处理方法
2018/07/03 Python
python找出完数的方法
2018/11/12 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
keras 多gpu并行运行案例
2020/06/10 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
宣传活动总结范文
2014/07/01 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
2014年协会工作总结
2014/11/22 职场文书
初中家长评语和期望
2014/12/26 职场文书
大客户经理岗位职责
2015/04/09 职场文书
教师节校长致辞
2015/07/31 职场文书
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python